From adb5b2610cc02801ebcaaf75fea61a6ea448f6aa Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 6 Aug 2021 06:34:22 +0200 Subject: [PATCH] 4.9-stable patches added patches: revert-bluetooth-shutdown-controller-after-workqueues-are-flushed-or-cancelled.patch revert-spi-mediatek-fix-fifo-rx-mode.patch --- ...-workqueues-are-flushed-or-cancelled.patch | 55 +++++++++++++++++++ ...revert-spi-mediatek-fix-fifo-rx-mode.patch | 52 ++++++++++++++++++ queue-4.9/series | 2 + 3 files changed, 109 insertions(+) create mode 100644 queue-4.9/revert-bluetooth-shutdown-controller-after-workqueues-are-flushed-or-cancelled.patch create mode 100644 queue-4.9/revert-spi-mediatek-fix-fifo-rx-mode.patch diff --git a/queue-4.9/revert-bluetooth-shutdown-controller-after-workqueues-are-flushed-or-cancelled.patch b/queue-4.9/revert-bluetooth-shutdown-controller-after-workqueues-are-flushed-or-cancelled.patch new file mode 100644 index 00000000000..1338ba837db --- /dev/null +++ b/queue-4.9/revert-bluetooth-shutdown-controller-after-workqueues-are-flushed-or-cancelled.patch @@ -0,0 +1,55 @@ +From 78eb5695f0139bf453dd43885238994aeb9c09b1 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Thu, 5 Aug 2021 20:58:57 +0200 +Subject: Revert "Bluetooth: Shutdown controller after workqueues are flushed or cancelled" + +From: Greg Kroah-Hartman + +This reverts commit dd86afb4bb75378848584e0e858929730a878d52 which is +commit 0ea9fd001a14ebc294f112b0361a4e601551d508 upstream. + +It has been reported to have problems: + https://lore.kernel.org/linux-bluetooth/8735ryk0o7.fsf@baylibre.com/ + +Reported-by: Guenter Roeck +Cc: Kai-Heng Feng +Cc: Marcel Holtmann +Cc: Sasha Levin +Link: https://lore.kernel.org/r/efee3a58-a4d2-af22-0931-e81b877ab539@roeck-us.net +Signed-off-by: Greg Kroah-Hartman +--- + net/bluetooth/hci_core.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +--- a/net/bluetooth/hci_core.c ++++ b/net/bluetooth/hci_core.c +@@ -1533,6 +1533,14 @@ int hci_dev_do_close(struct hci_dev *hde + + BT_DBG("%s %p", hdev->name, hdev); + ++ if (!hci_dev_test_flag(hdev, HCI_UNREGISTER) && ++ !hci_dev_test_flag(hdev, HCI_USER_CHANNEL) && ++ test_bit(HCI_UP, &hdev->flags)) { ++ /* Execute vendor specific shutdown routine */ ++ if (hdev->shutdown) ++ hdev->shutdown(hdev); ++ } ++ + cancel_delayed_work(&hdev->power_off); + + hci_request_cancel_all(hdev); +@@ -1600,14 +1608,6 @@ int hci_dev_do_close(struct hci_dev *hde + clear_bit(HCI_INIT, &hdev->flags); + } + +- if (!hci_dev_test_flag(hdev, HCI_UNREGISTER) && +- !hci_dev_test_flag(hdev, HCI_USER_CHANNEL) && +- test_bit(HCI_UP, &hdev->flags)) { +- /* Execute vendor specific shutdown routine */ +- if (hdev->shutdown) +- hdev->shutdown(hdev); +- } +- + /* flush cmd work */ + flush_work(&hdev->cmd_work); + diff --git a/queue-4.9/revert-spi-mediatek-fix-fifo-rx-mode.patch b/queue-4.9/revert-spi-mediatek-fix-fifo-rx-mode.patch new file mode 100644 index 00000000000..0c6e83e896c --- /dev/null +++ b/queue-4.9/revert-spi-mediatek-fix-fifo-rx-mode.patch @@ -0,0 +1,52 @@ +From 568f12594bc88a1b8f9e697c9bf6a3a5b6b6d134 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Thu, 5 Aug 2021 20:53:50 +0200 +Subject: Revert "spi: mediatek: fix fifo rx mode" + +From: Greg Kroah-Hartman + +This reverts commit 42982d02f56445cec2cbaea31811c88bb9db2947 which is +commit 3a70dd2d050331ee4cf5ad9d5c0a32d83ead9a43 upstream. + +It has been found to have problems. + +Reported-by: Guenter Roeck +Cc: Peter Hess +Cc: Frank Wunderlich +Cc: Mark Brown +Cc: Sasha Levin +Link: https://lore.kernel.org/r/efee3a58-a4d2-af22-0931-e81b877ab539@roeck-us.net +Signed-off-by: Greg Kroah-Hartman +--- + drivers/spi/spi-mt65xx.c | 16 +++------------- + 1 file changed, 3 insertions(+), 13 deletions(-) + +--- a/drivers/spi/spi-mt65xx.c ++++ b/drivers/spi/spi-mt65xx.c +@@ -338,23 +338,13 @@ static int mtk_spi_fifo_transfer(struct + mtk_spi_setup_packet(master); + + cnt = xfer->len / 4; +- if (xfer->tx_buf) +- iowrite32_rep(mdata->base + SPI_TX_DATA_REG, xfer->tx_buf, cnt); +- +- if (xfer->rx_buf) +- ioread32_rep(mdata->base + SPI_RX_DATA_REG, xfer->rx_buf, cnt); ++ iowrite32_rep(mdata->base + SPI_TX_DATA_REG, xfer->tx_buf, cnt); + + remainder = xfer->len % 4; + if (remainder > 0) { + reg_val = 0; +- if (xfer->tx_buf) { +- memcpy(®_val, xfer->tx_buf + (cnt * 4), remainder); +- writel(reg_val, mdata->base + SPI_TX_DATA_REG); +- } +- if (xfer->rx_buf) { +- reg_val = readl(mdata->base + SPI_RX_DATA_REG); +- memcpy(xfer->rx_buf + (cnt * 4), ®_val, remainder); +- } ++ memcpy(®_val, xfer->tx_buf + (cnt * 4), remainder); ++ writel(reg_val, mdata->base + SPI_TX_DATA_REG); + } + + mtk_spi_enable_transfer(master); diff --git a/queue-4.9/series b/queue-4.9/series index 1240d07b65b..5693108d006 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -2,3 +2,5 @@ btrfs-mark-compressed-range-uptodate-only-if-all-bio.patch regulator-rt5033-fix-n_voltages-settings-for-buck-an.patch r8152-fix-potential-pm-refcount-imbalance.patch net-fix-zero-copy-head-len-calculation.patch +revert-spi-mediatek-fix-fifo-rx-mode.patch +revert-bluetooth-shutdown-controller-after-workqueues-are-flushed-or-cancelled.patch -- 2.47.3