]> Pileus Git - ~andy/linux/blobdiff - drivers/scsi/hosts.c
brcmsmac: remove duplicated include from debug.c
[~andy/linux] / drivers / scsi / hosts.c
index a3a056a9db67bffb694208d30c44f4807c843a7a..593085a52275b33a3559228b9b7bf934748cc4d1 100644 (file)
@@ -42,7 +42,7 @@
 #include "scsi_logging.h"
 
 
-static atomic_t scsi_host_next_hn    /* host_no for next new host */
+static atomic_t scsi_host_next_hn = ATOMIC_INIT(0);    /* host_no for next new host */
 
 
 static void scsi_host_cls_release(struct device *dev)
@@ -290,6 +290,7 @@ static void scsi_host_dev_release(struct device *dev)
        struct Scsi_Host *shost = dev_to_shost(dev);
        struct device *parent = dev->parent;
        struct request_queue *q;
+       void *queuedata;
 
        scsi_proc_hostdir_rm(shost->hostt);
 
@@ -299,9 +300,9 @@ static void scsi_host_dev_release(struct device *dev)
                destroy_workqueue(shost->work_q);
        q = shost->uspace_req_q;
        if (q) {
-               kfree(q->queuedata);
-               q->queuedata = NULL;
-               scsi_free_queue(q);
+               queuedata = q->queuedata;
+               blk_cleanup_queue(q);
+               kfree(queuedata);
        }
 
        scsi_destroy_command_freelist(shost);