* [PATCH v3 2/5] st: clean up dev cleanup in st_probe
@ 2012-05-21 23:14 Lee Duncan
0 siblings, 0 replies; only message in thread
From: Lee Duncan @ 2012-05-21 23:14 UTC (permalink / raw)
To: linux-scsi; +Cc: linux-kernel, kai.makisara, jeffm
From: Jeff Mahoney <jeffm@suse.com>
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.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Lee Duncan <lduncan@suse.com>
---
drivers/scsi/st.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c
index 662f9a0..f437b7f 100644
--- a/drivers/scsi/st.c
+++ b/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 @@ out_free_tape:
"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--;
--
1.7.9.2
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-05-21 23:14 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-21 23:14 [PATCH v3 2/5] st: clean up dev cleanup in st_probe Lee Duncan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).