diff options
author | Ben Hutchings <ben@decadent.org.uk> | 2018-09-15 21:10:24 +0100 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2018-09-15 21:10:24 +0100 |
commit | 1224dd70227c2c1ce5fa46c86d473bc89ee2cc0c (patch) | |
tree | a4b1a61862a021484df99eaabdc9fad04af6a47c /queue-3.16 | |
parent | 944255e1e8d5239eac8384b6a23214642a8c02d8 (diff) | |
download | linux-stable-queue-1224dd70227c2c1ce5fa46c86d473bc89ee2cc0c.tar.gz |
Add fix for spurious warnings from uas
Diffstat (limited to 'queue-3.16')
-rw-r--r-- | queue-3.16/series | 1 | ||||
-rw-r--r-- | queue-3.16/uas-replace-warn_on_once-with-lockdep_assert_held.patch | 56 |
2 files changed, 57 insertions, 0 deletions
diff --git a/queue-3.16/series b/queue-3.16/series index d707ca9d..b7a0fc46 100644 --- a/queue-3.16/series +++ b/queue-3.16/series @@ -44,3 +44,4 @@ x86-speculation-clean-up-various-spectre-related-details.patch x86-speculation-protect-against-userspace-userspace-spectrersb.patch x86-paravirt-fix-spectre-v2-mitigations-for-paravirt-guests.patch cdrom-fix-info-leak-oob-read-in-cdrom_ioctl_drive_status.patch +uas-replace-warn_on_once-with-lockdep_assert_held.patch diff --git a/queue-3.16/uas-replace-warn_on_once-with-lockdep_assert_held.patch b/queue-3.16/uas-replace-warn_on_once-with-lockdep_assert_held.patch new file mode 100644 index 00000000..e32c318a --- /dev/null +++ b/queue-3.16/uas-replace-warn_on_once-with-lockdep_assert_held.patch @@ -0,0 +1,56 @@ +From: Sanjeev Sharma <sanjeev_sharma@mentor.com> +Date: Tue, 12 Aug 2014 12:10:21 +0530 +Subject: uas: replace WARN_ON_ONCE() with lockdep_assert_held() + +commit ab945eff8396bc3329cc97274320e8d2c6585077 upstream. + +on some architecture spin_is_locked() always return false in +uniprocessor configuration and therefore it would be advise +to replace with lockdep_assert_held(). + +Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@mentor.com> +Acked-by: Hans de Goede <hdegoede@redhat.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +Signed-off-by: Ben Hutchings <ben@decadent.org.uk> +--- + drivers/usb/storage/uas.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- a/drivers/usb/storage/uas.c ++++ b/drivers/usb/storage/uas.c +@@ -158,7 +158,7 @@ static void uas_mark_cmd_dead(struct uas + struct scsi_cmnd *cmnd = container_of(scp, struct scsi_cmnd, SCp); + + uas_log_cmd_state(cmnd, caller); +- WARN_ON_ONCE(!spin_is_locked(&devinfo->lock)); ++ lockdep_assert_held(&devinfo->lock); + WARN_ON_ONCE(cmdinfo->state & COMMAND_ABORTED); + cmdinfo->state |= COMMAND_ABORTED; + cmdinfo->state &= ~IS_IN_WORK_LIST; +@@ -185,7 +185,7 @@ static void uas_add_work(struct uas_cmd_ + struct scsi_cmnd *cmnd = container_of(scp, struct scsi_cmnd, SCp); + struct uas_dev_info *devinfo = cmnd->device->hostdata; + +- WARN_ON_ONCE(!spin_is_locked(&devinfo->lock)); ++ lockdep_assert_held(&devinfo->lock); + cmdinfo->state |= IS_IN_WORK_LIST; + schedule_work(&devinfo->work); + } +@@ -287,7 +287,7 @@ static int uas_try_complete(struct scsi_ + struct uas_cmd_info *cmdinfo = (void *)&cmnd->SCp; + struct uas_dev_info *devinfo = (void *)cmnd->device->hostdata; + +- WARN_ON_ONCE(!spin_is_locked(&devinfo->lock)); ++ lockdep_assert_held(&devinfo->lock); + if (cmdinfo->state & (COMMAND_INFLIGHT | + DATA_IN_URB_INFLIGHT | + DATA_OUT_URB_INFLIGHT | +@@ -626,7 +626,7 @@ static int uas_submit_urbs(struct scsi_c + struct urb *urb; + int err; + +- WARN_ON_ONCE(!spin_is_locked(&devinfo->lock)); ++ lockdep_assert_held(&devinfo->lock); + if (cmdinfo->state & SUBMIT_STATUS_URB) { + urb = uas_submit_sense_urb(cmnd, gfp, cmdinfo->stream); + if (!urb) |