Loading drivers/scsi/scsi_lib.c +1 −1 Original line number Diff line number Diff line Loading @@ -1346,7 +1346,7 @@ int scsi_prep_return(struct request_queue *q, struct request *req, int ret) } EXPORT_SYMBOL(scsi_prep_return); static int scsi_prep_fn(struct request_queue *q, struct request *req) int scsi_prep_fn(struct request_queue *q, struct request *req) { struct scsi_device *sdev = q->queuedata; int ret = BLKPREP_KILL; Loading drivers/scsi/scsi_priv.h +3 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,9 @@ extern struct request_queue *scsi_alloc_queue(struct scsi_device *sdev); extern void scsi_free_queue(struct request_queue *q); extern int scsi_init_queue(void); extern void scsi_exit_queue(void); struct request_queue; struct request; extern int scsi_prep_fn(struct request_queue *, struct request *); /* scsi_proc.c */ #ifdef CONFIG_SCSI_PROC_FS Loading drivers/scsi/scsi_sysfs.c +17 −0 Original line number Diff line number Diff line Loading @@ -373,12 +373,29 @@ static int scsi_bus_resume(struct device * dev) return err; } static int scsi_bus_remove(struct device *dev) { struct device_driver *drv = dev->driver; struct scsi_device *sdev = to_scsi_device(dev); int err = 0; /* reset the prep_fn back to the default since the * driver may have altered it and it's being removed */ blk_queue_prep_rq(sdev->request_queue, scsi_prep_fn); if (drv && drv->remove) err = drv->remove(dev); return 0; } struct bus_type scsi_bus_type = { .name = "scsi", .match = scsi_bus_match, .uevent = scsi_bus_uevent, .suspend = scsi_bus_suspend, .resume = scsi_bus_resume, .remove = scsi_bus_remove, }; int scsi_sysfs_register(void) Loading Loading
drivers/scsi/scsi_lib.c +1 −1 Original line number Diff line number Diff line Loading @@ -1346,7 +1346,7 @@ int scsi_prep_return(struct request_queue *q, struct request *req, int ret) } EXPORT_SYMBOL(scsi_prep_return); static int scsi_prep_fn(struct request_queue *q, struct request *req) int scsi_prep_fn(struct request_queue *q, struct request *req) { struct scsi_device *sdev = q->queuedata; int ret = BLKPREP_KILL; Loading
drivers/scsi/scsi_priv.h +3 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,9 @@ extern struct request_queue *scsi_alloc_queue(struct scsi_device *sdev); extern void scsi_free_queue(struct request_queue *q); extern int scsi_init_queue(void); extern void scsi_exit_queue(void); struct request_queue; struct request; extern int scsi_prep_fn(struct request_queue *, struct request *); /* scsi_proc.c */ #ifdef CONFIG_SCSI_PROC_FS Loading
drivers/scsi/scsi_sysfs.c +17 −0 Original line number Diff line number Diff line Loading @@ -373,12 +373,29 @@ static int scsi_bus_resume(struct device * dev) return err; } static int scsi_bus_remove(struct device *dev) { struct device_driver *drv = dev->driver; struct scsi_device *sdev = to_scsi_device(dev); int err = 0; /* reset the prep_fn back to the default since the * driver may have altered it and it's being removed */ blk_queue_prep_rq(sdev->request_queue, scsi_prep_fn); if (drv && drv->remove) err = drv->remove(dev); return 0; } struct bus_type scsi_bus_type = { .name = "scsi", .match = scsi_bus_match, .uevent = scsi_bus_uevent, .suspend = scsi_bus_suspend, .resume = scsi_bus_resume, .remove = scsi_bus_remove, }; int scsi_sysfs_register(void) Loading