aboutsummaryrefslogtreecommitdiffstats
path: root/usb.current/usb-isp1362-hcd-fix-double-lock.patch
diff options
authorGreg Kroah-Hartman <gregkh@suse.de>2010-07-02 14:21:42 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2010-07-02 14:21:42 -0700
commitf3a20b368ebed936771e3516c240a77eed6bb918 (patch)
treea0555d279949ec8245b077a001a85919f8b78068 /usb.current/usb-isp1362-hcd-fix-double-lock.patch
parentc23087dad116bf3266e64605046361d985e7f493 (diff)
downloadpatches-f3a20b368ebed936771e3516c240a77eed6bb918.tar.gz
patches merged with Linus now removed
Diffstat (limited to 'usb.current/usb-isp1362-hcd-fix-double-lock.patch')
-rw-r--r--usb.current/usb-isp1362-hcd-fix-double-lock.patch66
1 files changed, 0 insertions, 66 deletions
diff --git a/usb.current/usb-isp1362-hcd-fix-double-lock.patch b/usb.current/usb-isp1362-hcd-fix-double-lock.patch
deleted file mode 100644
index d8e8f0950af3c8..00000000000000
--- a/usb.current/usb-isp1362-hcd-fix-double-lock.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From jslaby@suse.cz Mon Jun 21 14:19:09 2010
-From: Jiri Slaby <jslaby@suse.cz>
-Date: Mon, 21 Jun 2010 17:02:51 +0200
-Subject: USB: isp1362-hcd, fix double lock
-To: gregkh@suse.de
-Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, jirislaby@gmail.com, Lothar Wassmann <LW@KARO-electronics.de>, Michael Hennerich <michael.hennerich@analog.com>, Bryan Wu <cooloney@kernel.org>, Mike Frysinger <vapier@gentoo.org>
-Message-ID: <1277132571-14320-1-git-send-email-jslaby@suse.cz>
-
-
-Stanse found that isp1362_sw_reset tries to take a isp1362_hcd->lock,
-but it is already held in isp1362_hc_stop. Avoid that by introducing
-__isp1362_sw_reset which doesn't take the lock and call it from
-isp1362_hc_stop. isp1362_sw_reset is then as simple as lock --
-__isp1362_sw_reset -- unlock.
-
-Signed-off-by: Jiri Slaby <jslaby@suse.cz>
-Cc: Lothar Wassmann <LW@KARO-electronics.de>
-Cc: Michael Hennerich <michael.hennerich@analog.com>
-Cc: Bryan Wu <cooloney@kernel.org>
-Cc: Mike Frysinger <vapier@gentoo.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/usb/host/isp1362-hcd.c | 15 ++++++++++-----
- 1 file changed, 10 insertions(+), 5 deletions(-)
-
---- a/drivers/usb/host/isp1362-hcd.c
-+++ b/drivers/usb/host/isp1362-hcd.c
-@@ -2224,12 +2224,9 @@ static void remove_debug_file(struct isp
-
- /*-------------------------------------------------------------------------*/
-
--static void isp1362_sw_reset(struct isp1362_hcd *isp1362_hcd)
-+static void __isp1362_sw_reset(struct isp1362_hcd *isp1362_hcd)
- {
- int tmp = 20;
-- unsigned long flags;
--
-- spin_lock_irqsave(&isp1362_hcd->lock, flags);
-
- isp1362_write_reg16(isp1362_hcd, HCSWRES, HCSWRES_MAGIC);
- isp1362_write_reg32(isp1362_hcd, HCCMDSTAT, OHCI_HCR);
-@@ -2240,6 +2237,14 @@ static void isp1362_sw_reset(struct isp1
- }
- if (!tmp)
- pr_err("Software reset timeout\n");
-+}
-+
-+static void isp1362_sw_reset(struct isp1362_hcd *isp1362_hcd)
-+{
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&isp1362_hcd->lock, flags);
-+ __isp1362_sw_reset(isp1362_hcd);
- spin_unlock_irqrestore(&isp1362_hcd->lock, flags);
- }
-
-@@ -2418,7 +2423,7 @@ static void isp1362_hc_stop(struct usb_h
- if (isp1362_hcd->board && isp1362_hcd->board->reset)
- isp1362_hcd->board->reset(hcd->self.controller, 1);
- else
-- isp1362_sw_reset(isp1362_hcd);
-+ __isp1362_sw_reset(isp1362_hcd);
-
- if (isp1362_hcd->board && isp1362_hcd->board->clock)
- isp1362_hcd->board->clock(hcd->self.controller, 0);