diff --git a/[refs] b/[refs] index 92022b1d6880..8f321d08ccc6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: af23782beff27e720318fc44495287b9961a88e1 +refs/heads/master: e3f2a9cc84d35fac73c906de57ad3b3f5ff82008 diff --git a/trunk/drivers/scsi/st.c b/trunk/drivers/scsi/st.c index 03303ae44434..492b53b6e51d 100644 --- a/trunk/drivers/scsi/st.c +++ b/trunk/drivers/scsi/st.c @@ -4156,6 +4156,7 @@ static int st_probe(struct device *dev) printk(KERN_ERR "st%d: out of memory. Device not attached.\n", dev_num); + cdev_del(cdev); goto out_free_tape; } cdev->owner = THIS_MODULE; @@ -4194,17 +4195,13 @@ static int st_probe(struct device *dev) "tape"); for (j=0; j < 2; j++) { if (STm->cdevs[j]) { - if (cdev == STm->cdevs[j]) - cdev = NULL; - device_destroy(&st_sysfs_class, - MKDEV(SCSI_TAPE_MAJOR, - TAPE_MINOR(i, mode, j))); + device_destroy(&st_sysfs_class, + MKDEV(SCSI_TAPE_MAJOR, + TAPE_MINOR(i, mode, j))); cdev_del(STm->cdevs[j]); } } } - if (cdev) - cdev_del(cdev); write_lock(&st_dev_arr_lock); scsi_tapes[dev_num] = NULL; st_nr_dev--;