Skip to content

Commit dc1bae0

Browse files
committed
Merge remote-tracking branch 'stable/linux-6.6.y' into v6.6+
2 parents 5979ec1 + 8afabe2 commit dc1bae0

26 files changed

Lines changed: 623 additions & 145 deletions

File tree

Documentation/devicetree/bindings/serial/rs485.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ properties:
2929
default: 0
3030
maximum: 100
3131

32+
rs485-rts-active-high:
33+
description: drive RTS high when sending (this is the default).
34+
$ref: /schemas/types.yaml#/definitions/flag
35+
3236
rs485-rts-active-low:
3337
description: drive RTS low when sending (default is high).
3438
$ref: /schemas/types.yaml#/definitions/flag

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 6
33
PATCHLEVEL = 6
4-
SUBLEVEL = 0
4+
SUBLEVEL = 1
55
EXTRAVERSION =
66
NAME = Hurr durr I'ma ninja sloth
77

drivers/bluetooth/hci_bcm4377.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -512,6 +512,7 @@ struct bcm4377_hw {
512512
unsigned long disable_aspm : 1;
513513
unsigned long broken_ext_scan : 1;
514514
unsigned long broken_mws_transport_config : 1;
515+
unsigned long broken_le_coded : 1;
515516

516517
int (*send_calibration)(struct bcm4377_data *bcm4377);
517518
int (*send_ptb)(struct bcm4377_data *bcm4377,
@@ -2372,6 +2373,8 @@ static int bcm4377_probe(struct pci_dev *pdev, const struct pci_device_id *id)
23722373
set_bit(HCI_QUIRK_BROKEN_MWS_TRANSPORT_CONFIG, &hdev->quirks);
23732374
if (bcm4377->hw->broken_ext_scan)
23742375
set_bit(HCI_QUIRK_BROKEN_EXT_SCAN, &hdev->quirks);
2376+
if (bcm4377->hw->broken_le_coded)
2377+
set_bit(HCI_QUIRK_BROKEN_LE_CODED, &hdev->quirks);
23752378

23762379
pci_set_drvdata(pdev, bcm4377);
23772380
hci_set_drvdata(hdev, bcm4377);
@@ -2461,6 +2464,7 @@ static const struct bcm4377_hw bcm4377_hw_variants[] = {
24612464
.bar0_core2_window2 = 0x18107000,
24622465
.has_bar0_core2_window2 = true,
24632466
.broken_mws_transport_config = true,
2467+
.broken_le_coded = true,
24642468
.send_calibration = bcm4378_send_calibration,
24652469
.send_ptb = bcm4378_send_ptb,
24662470
},
@@ -2474,6 +2478,7 @@ static const struct bcm4377_hw bcm4377_hw_variants[] = {
24742478
.has_bar0_core2_window2 = true,
24752479
.clear_pciecfg_subsystem_ctrl_bit19 = true,
24762480
.broken_mws_transport_config = true,
2481+
.broken_le_coded = true,
24772482
.send_calibration = bcm4387_send_calibration,
24782483
.send_ptb = bcm4378_send_ptb,
24792484
},

drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,8 @@ static void dcn10_dmcu_set_psr_enable(struct dmcu *dmcu, bool enable, bool wait)
586586
if (state == PSR_STATE0)
587587
break;
588588
}
589-
fsleep(500);
589+
/* must *not* be fsleep - this can be called from high irq levels */
590+
udelay(500);
590591
}
591592

592593
/* assert if max retry hit */

drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,8 @@ static void dmub_psr_enable(struct dmub_psr *dmub, bool enable, bool wait, uint8
216216
break;
217217
}
218218

219-
fsleep(500);
219+
/* must *not* be fsleep - this can be called from high irq levels */
220+
udelay(500);
220221
}
221222

222223
/* assert if max retry hit */

drivers/misc/pci_endpoint_test.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
#define PCI_DEVICE_ID_TI_AM654 0xb00c
7272
#define PCI_DEVICE_ID_TI_J7200 0xb00f
7373
#define PCI_DEVICE_ID_TI_AM64 0xb010
74+
#define PCI_DEVICE_ID_TI_J721S2 0xb013
7475
#define PCI_DEVICE_ID_LS1088A 0x80c0
7576
#define PCI_DEVICE_ID_IMX8 0x0808
7677

@@ -999,6 +1000,9 @@ static const struct pci_device_id pci_endpoint_test_tbl[] = {
9991000
{ PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_AM64),
10001001
.driver_data = (kernel_ulong_t)&j721e_data,
10011002
},
1003+
{ PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_J721S2),
1004+
.driver_data = (kernel_ulong_t)&j721e_data,
1005+
},
10021006
{ }
10031007
};
10041008
MODULE_DEVICE_TABLE(pci, pci_endpoint_test_tbl);

drivers/pci/quirks.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -690,15 +690,15 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS100, quirk_ati_
690690
/*
691691
* In the AMD NL platform, this device ([1022:7912]) has a class code of
692692
* PCI_CLASS_SERIAL_USB_XHCI (0x0c0330), which means the xhci driver will
693-
* claim it.
693+
* claim it. The same applies on the VanGogh platform device ([1022:163a]).
694694
*
695695
* But the dwc3 driver is a more specific driver for this device, and we'd
696696
* prefer to use it instead of xhci. To prevent xhci from claiming the
697697
* device, change the class code to 0x0c03fe, which the PCI r3.0 spec
698698
* defines as "USB device (not host controller)". The dwc3 driver can then
699699
* claim it based on its Vendor and Device ID.
700700
*/
701-
static void quirk_amd_nl_class(struct pci_dev *pdev)
701+
static void quirk_amd_dwc_class(struct pci_dev *pdev)
702702
{
703703
u32 class = pdev->class;
704704

@@ -708,7 +708,9 @@ static void quirk_amd_nl_class(struct pci_dev *pdev)
708708
class, pdev->class);
709709
}
710710
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_NL_USB,
711-
quirk_amd_nl_class);
711+
quirk_amd_dwc_class);
712+
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VANGOGH_USB,
713+
quirk_amd_dwc_class);
712714

713715
/*
714716
* Synopsys USB 3.x host HAPS platform has a class code of

drivers/power/supply/power_supply_core.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
struct class *power_supply_class;
3030
EXPORT_SYMBOL_GPL(power_supply_class);
3131

32-
ATOMIC_NOTIFIER_HEAD(power_supply_notifier);
32+
BLOCKING_NOTIFIER_HEAD(power_supply_notifier);
3333
EXPORT_SYMBOL_GPL(power_supply_notifier);
3434

3535
static struct device_type power_supply_dev_type;
@@ -97,7 +97,7 @@ static void power_supply_changed_work(struct work_struct *work)
9797
class_for_each_device(power_supply_class, NULL, psy,
9898
__power_supply_changed_work);
9999
power_supply_update_leds(psy);
100-
atomic_notifier_call_chain(&power_supply_notifier,
100+
blocking_notifier_call_chain(&power_supply_notifier,
101101
PSY_EVENT_PROP_CHANGED, psy);
102102
kobject_uevent(&psy->dev.kobj, KOBJ_CHANGE);
103103
spin_lock_irqsave(&psy->changed_lock, flags);
@@ -1262,13 +1262,13 @@ static void power_supply_dev_release(struct device *dev)
12621262

12631263
int power_supply_reg_notifier(struct notifier_block *nb)
12641264
{
1265-
return atomic_notifier_chain_register(&power_supply_notifier, nb);
1265+
return blocking_notifier_chain_register(&power_supply_notifier, nb);
12661266
}
12671267
EXPORT_SYMBOL_GPL(power_supply_reg_notifier);
12681268

12691269
void power_supply_unreg_notifier(struct notifier_block *nb)
12701270
{
1271-
atomic_notifier_chain_unregister(&power_supply_notifier, nb);
1271+
blocking_notifier_chain_unregister(&power_supply_notifier, nb);
12721272
}
12731273
EXPORT_SYMBOL_GPL(power_supply_unreg_notifier);
12741274

drivers/tty/n_gsm.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4108,6 +4108,8 @@ static int gsm_modem_upd_via_msc(struct gsm_dlci *dlci, u8 brk)
41084108

41094109
static int gsm_modem_update(struct gsm_dlci *dlci, u8 brk)
41104110
{
4111+
if (dlci->gsm->dead)
4112+
return -EL2HLT;
41114113
if (dlci->adaption == 2) {
41124114
/* Send convergence layer type 2 empty data frame. */
41134115
gsm_modem_upd_via_data(dlci, brk);

0 commit comments

Comments
 (0)