]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/block/cciss.c
[PATCH] cciss: busy_initializing bug fix
[linux-2.6-omap-h63xx.git] / drivers / block / cciss.c
index c56f995aadadcee00d8a63982ccf0a16da20c97a..486b6e1c7dfb96aaa1a8e98e06169d7ce7164f27 100644 (file)
@@ -483,9 +483,6 @@ static int cciss_open(struct inode *inode, struct file *filep)
        printk(KERN_DEBUG "cciss_open %s\n", inode->i_bdev->bd_disk->disk_name);
 #endif /* CCISS_DEBUG */ 
 
-       if (host->busy_initializing)
-               return -EBUSY;
-
        if (host->busy_initializing || drv->busy_configuring)
                return -EBUSY;
        /*
@@ -2991,6 +2988,7 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
        hba[i]->access.set_intr_mask(hba[i], CCISS_INTR_ON);
 
        cciss_procinit(i);
+       hba[i]->busy_initializing = 0;
 
        for(j=0; j < NWD; j++) { /* mfm */
                drive_info_struct *drv = &(hba[i]->drv[j]);
@@ -3033,7 +3031,6 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
                add_disk(disk);
        }
 
-       hba[i]->busy_initializing = 0;
        return(1);
 
 clean4: