Re: sbp2.c on SMP

From: H . J . Lu (hjl@lucon.org)
Date: Tue Nov 13 2001 - 22:17:21 EST


On Sun, Nov 11, 2001 at 05:37:21PM -0800, Andrew Morton wrote:
> Guys,
>
> drivers/ieee1394/sbp2.c deadlocks immediately on SMP, because
> io_request_lock is not held over its call to scsi_old_done().
>

Here is another patch. It fixes:

# modprobe ohci1394
# rmmod ohci1394

H.J.
--- linux-2.4.9-12.2mod/drivers/ieee1394/nodemgr.c.rmmod Tue Nov 13 19:15:44 2001
+++ linux-2.4.9-12.2mod/drivers/ieee1394/nodemgr.c Tue Nov 13 19:11:38 2001
@@ -570,7 +570,8 @@ static void nodemgr_remove_host(struct h
         write_lock_irqsave(&node_lock, flags);
         list_for_each(lh, &node_list) {
                 ne = list_entry(lh, struct node_entry, list);
-
+ if (!ne)
+ break;
                 /* Only checking this host */
                 if (ne->host != host)
                         continue;
@@ -582,6 +583,8 @@ static void nodemgr_remove_host(struct h
         spin_lock_irqsave (&host_info_lock, flags);
         list_for_each(lh, &host_info_list) {
                 struct host_info *myhi = list_entry(lh, struct host_info, list);
+ if (!myhi)
+ break;
                 if (myhi->host == host) {
                         hi = myhi;
                         break;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Nov 15 2001 - 21:00:37 EST