mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 12:20:52 +07:00
[SCSI] st: clean up dev cleanup in st_probe
st_probe leaves a cdev pointer hanging around that is compared during the error path and freed later. There's no need for the pointer to hang around at all. So we free it immediately and simplify the error handling. Reviewed-by: Lee Duncan <lduncan@suse.com> Signed-off-by: Jeff Mahoney <jeffm@suse.com> Acked-by: Kai Mäkisara <kai.makisara@kolumbus.fi> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
af23782bef
commit
e3f2a9cc84
@ -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--;
|
||||
|
Loading…
Reference in New Issue
Block a user