]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Jan 2020 10:13:31 +0000 (11:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Jan 2020 10:13:31 +0000 (11:13 +0100)
added patches:
platform-x86-asus-wmi-fix-keyboard-brightness-cannot-be-set-to-0.patch
scsi-enclosure-fix-stale-device-oops-with-hot-replug.patch
scsi-sd-clear-sdkp-protection_type-if-disk-is-reformatted-without-pi.patch

queue-4.4/platform-x86-asus-wmi-fix-keyboard-brightness-cannot-be-set-to-0.patch [new file with mode: 0644]
queue-4.4/scsi-enclosure-fix-stale-device-oops-with-hot-replug.patch [new file with mode: 0644]
queue-4.4/scsi-sd-clear-sdkp-protection_type-if-disk-is-reformatted-without-pi.patch [new file with mode: 0644]
queue-4.4/series

diff --git a/queue-4.4/platform-x86-asus-wmi-fix-keyboard-brightness-cannot-be-set-to-0.patch b/queue-4.4/platform-x86-asus-wmi-fix-keyboard-brightness-cannot-be-set-to-0.patch
new file mode 100644 (file)
index 0000000..3e3ae86
--- /dev/null
@@ -0,0 +1,40 @@
+From 176a7fca81c5090a7240664e3002c106d296bf31 Mon Sep 17 00:00:00 2001
+From: Jian-Hong Pan <jian-hong@endlessm.com>
+Date: Mon, 30 Dec 2019 16:30:45 +0800
+Subject: platform/x86: asus-wmi: Fix keyboard brightness cannot be set to 0
+
+From: Jian-Hong Pan <jian-hong@endlessm.com>
+
+commit 176a7fca81c5090a7240664e3002c106d296bf31 upstream.
+
+Some of ASUS laptops like UX431FL keyboard backlight cannot be set to
+brightness 0. According to ASUS' information, the brightness should be
+0x80 ~ 0x83. This patch fixes it by following the logic.
+
+Fixes: e9809c0b9670 ("asus-wmi: add keyboard backlight support")
+Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com>
+Reviewed-by: Daniel Drake <drake@endlessm.com>
+Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/platform/x86/asus-wmi.c |    8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+--- a/drivers/platform/x86/asus-wmi.c
++++ b/drivers/platform/x86/asus-wmi.c
+@@ -452,13 +452,7 @@ static void kbd_led_update(struct work_s
+       asus = container_of(work, struct asus_wmi, kbd_led_work);
+-      /*
+-       * bits 0-2: level
+-       * bit 7: light on/off
+-       */
+-      if (asus->kbd_led_wk > 0)
+-              ctrl_param = 0x80 | (asus->kbd_led_wk & 0x7F);
+-
++      ctrl_param = 0x80 | (asus->kbd_led_wk & 0x7F);
+       asus_wmi_set_devstate(ASUS_WMI_DEVID_KBD_BACKLIGHT, ctrl_param, NULL);
+ }
diff --git a/queue-4.4/scsi-enclosure-fix-stale-device-oops-with-hot-replug.patch b/queue-4.4/scsi-enclosure-fix-stale-device-oops-with-hot-replug.patch
new file mode 100644 (file)
index 0000000..5e6261b
--- /dev/null
@@ -0,0 +1,45 @@
+From 529244bd1afc102ab164429d338d310d5d65e60d Mon Sep 17 00:00:00 2001
+From: James Bottomley <James.Bottomley@HansenPartnership.com>
+Date: Wed, 8 Jan 2020 17:21:32 -0800
+Subject: scsi: enclosure: Fix stale device oops with hot replug
+
+From: James Bottomley <James.Bottomley@HansenPartnership.com>
+
+commit 529244bd1afc102ab164429d338d310d5d65e60d upstream.
+
+Doing an add/remove/add on a SCSI device in an enclosure leads to an oops
+caused by poisoned values in the enclosure device list pointers.  The
+reason is because we are keeping the enclosure device across the enclosed
+device add/remove/add but the current code is doing a
+device_add/device_del/device_add on it.  This is the wrong thing to do in
+sysfs, so fix it by not doing a device_del on the enclosure device simply
+because of a hot remove of the drive in the slot.
+
+[mkp: added missing email addresses]
+
+Fixes: 43d8eb9cfd0a ("[SCSI] ses: add support for enclosure component hot removal")
+Link: https://lore.kernel.org/r/1578532892.3852.10.camel@HansenPartnership.com
+Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
+Reported-by: Luo Jiaxing <luojiaxing@huawei.com>
+Tested-by: John Garry <john.garry@huawei.com>
+Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/misc/enclosure.c |    3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/drivers/misc/enclosure.c
++++ b/drivers/misc/enclosure.c
+@@ -419,10 +419,9 @@ int enclosure_remove_device(struct enclo
+               cdev = &edev->component[i];
+               if (cdev->dev == dev) {
+                       enclosure_remove_links(cdev);
+-                      device_del(&cdev->cdev);
+                       put_device(dev);
+                       cdev->dev = NULL;
+-                      return device_add(&cdev->cdev);
++                      return 0;
+               }
+       }
+       return -ENODEV;
diff --git a/queue-4.4/scsi-sd-clear-sdkp-protection_type-if-disk-is-reformatted-without-pi.patch b/queue-4.4/scsi-sd-clear-sdkp-protection_type-if-disk-is-reformatted-without-pi.patch
new file mode 100644 (file)
index 0000000..5920eaa
--- /dev/null
@@ -0,0 +1,42 @@
+From 465f4edaecc6c37f81349233e84d46246bcac11a Mon Sep 17 00:00:00 2001
+From: Xiang Chen <chenxiang66@hisilicon.com>
+Date: Thu, 9 Jan 2020 09:12:24 +0800
+Subject: scsi: sd: Clear sdkp->protection_type if disk is reformatted without PI
+
+From: Xiang Chen <chenxiang66@hisilicon.com>
+
+commit 465f4edaecc6c37f81349233e84d46246bcac11a upstream.
+
+If an attached disk with protection information enabled is reformatted
+to Type 0 the revalidation code does not clear the original protection
+type and subsequent accesses will keep setting RDPROTECT/WRPROTECT.
+
+Set the protection type to 0 if the disk reports PROT_EN=0 in READ
+CAPACITY(16).
+
+[mkp: commit desc]
+
+Fixes: fe542396da73 ("[SCSI] sd: Ensure we correctly disable devices with unknown protection type")
+Link: https://lore.kernel.org/r/1578532344-101668-1-git-send-email-chenxiang66@hisilicon.com
+Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
+Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/scsi/sd.c |    4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/scsi/sd.c
++++ b/drivers/scsi/sd.c
+@@ -1998,8 +1998,10 @@ static int sd_read_protection_type(struc
+       u8 type;
+       int ret = 0;
+-      if (scsi_device_protection(sdp) == 0 || (buffer[12] & 1) == 0)
++      if (scsi_device_protection(sdp) == 0 || (buffer[12] & 1) == 0) {
++              sdkp->protection_type = 0;
+               return ret;
++      }
+       type = ((buffer[12] >> 1) & 7) + 1; /* P_TYPE 0 = Type 1 */
index e72a66130b75c30a022696ebbed9c212eb3d13ef..7751251a16138df6657a510b65555b1b577631d3 100644 (file)
@@ -21,3 +21,6 @@ gpio-fix-error-message-on-out-of-range-gpio-in-lookup-table.patch
 hsr-reset-network-header-when-supervision-frame-is-created.patch
 cifs-adjust-indentation-in-smb2_open_file.patch
 rdma-srpt-report-the-scsi-residual-to-the-initiator.patch
+scsi-enclosure-fix-stale-device-oops-with-hot-replug.patch
+scsi-sd-clear-sdkp-protection_type-if-disk-is-reformatted-without-pi.patch
+platform-x86-asus-wmi-fix-keyboard-brightness-cannot-be-set-to-0.patch