qla3xxx: Hold RTNL while calling dev_close()
authorBen Hutchings <bhutchings@solarflare.com>
Tue, 6 May 2008 18:36:26 +0000 (19:36 +0100)
committerJeff Garzik <jgarzik@redhat.com>
Fri, 27 Jun 2008 05:31:50 +0000 (01:31 -0400)
dev_close() must be called holding the RTNL.  Compile-tested only.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/net/qla3xxx.c

index b7f7b2227d5697df09413841074d143c5ef8ac88..bccee68bd48a53fb671f2634d2b7bc3dd64cb36e 100644 (file)
@@ -3701,7 +3701,9 @@ static int ql_cycle_adapter(struct ql3_adapter *qdev, int reset)
                printk(KERN_ERR PFX
                                "%s: Driver up/down cycle failed, "
                                "closing device\n",qdev->ndev->name);
+               rtnl_lock();
                dev_close(qdev->ndev);
+               rtnl_unlock();
                return -1;
        }
        return 0;