summaryrefslogtreecommitdiffstats
path: root/queue-3.16
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2018-09-15 21:10:24 +0100
committerBen Hutchings <ben@decadent.org.uk>2018-09-15 21:10:24 +0100
commit1224dd70227c2c1ce5fa46c86d473bc89ee2cc0c (patch)
treea4b1a61862a021484df99eaabdc9fad04af6a47c /queue-3.16
parent944255e1e8d5239eac8384b6a23214642a8c02d8 (diff)
downloadlinux-stable-queue-1224dd70227c2c1ce5fa46c86d473bc89ee2cc0c.tar.gz
Add fix for spurious warnings from uas
Diffstat (limited to 'queue-3.16')
-rw-r--r--queue-3.16/series1
-rw-r--r--queue-3.16/uas-replace-warn_on_once-with-lockdep_assert_held.patch56
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)