Commit d0f656ca authored by Priyanka Gupta's avatar Priyanka Gupta Committed by James Bottomley

[SCSI] Remove unused method scsi_device_cancel

Removes an obsolete method scsi_device_cancel which isn't being used
anywhere in the kernel.
Signed-off-by: default avatarPriyanka Gupta <priyankag@google.com>
Acked-by: default avatarGrant Grundler <grundler@parisc-linux.org>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 33874a00
...@@ -1016,52 +1016,6 @@ struct scsi_device *scsi_device_lookup(struct Scsi_Host *shost, ...@@ -1016,52 +1016,6 @@ struct scsi_device *scsi_device_lookup(struct Scsi_Host *shost,
} }
EXPORT_SYMBOL(scsi_device_lookup); EXPORT_SYMBOL(scsi_device_lookup);
/**
* scsi_device_cancel - cancel outstanding IO to this device
* @sdev: Pointer to struct scsi_device
* @recovery: Boolean instructing function to recover device or not.
*
**/
int scsi_device_cancel(struct scsi_device *sdev, int recovery)
{
struct scsi_cmnd *scmd;
LIST_HEAD(active_list);
struct list_head *lh, *lh_sf;
unsigned long flags;
scsi_device_set_state(sdev, SDEV_CANCEL);
spin_lock_irqsave(&sdev->list_lock, flags);
list_for_each_entry(scmd, &sdev->cmd_list, list) {
if (scmd->request) {
/*
* If we are unable to remove the timer, it means
* that the command has already timed out or
* finished.
*/
if (!scsi_delete_timer(scmd))
continue;
list_add_tail(&scmd->eh_entry, &active_list);
}
}
spin_unlock_irqrestore(&sdev->list_lock, flags);
if (!list_empty(&active_list)) {
list_for_each_safe(lh, lh_sf, &active_list) {
scmd = list_entry(lh, struct scsi_cmnd, eh_entry);
list_del_init(lh);
if (recovery &&
!scsi_eh_scmd_add(scmd, SCSI_EH_CANCEL_CMD)) {
scmd->result = (DID_ABORT << 16);
scsi_finish_command(scmd);
}
}
}
return 0;
}
EXPORT_SYMBOL(scsi_device_cancel);
MODULE_DESCRIPTION("SCSI core"); MODULE_DESCRIPTION("SCSI core");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -209,7 +209,6 @@ extern struct scsi_device *__scsi_add_device(struct Scsi_Host *, ...@@ -209,7 +209,6 @@ extern struct scsi_device *__scsi_add_device(struct Scsi_Host *,
extern int scsi_add_device(struct Scsi_Host *host, uint channel, extern int scsi_add_device(struct Scsi_Host *host, uint channel,
uint target, uint lun); uint target, uint lun);
extern void scsi_remove_device(struct scsi_device *); extern void scsi_remove_device(struct scsi_device *);
extern int scsi_device_cancel(struct scsi_device *, int);
extern int scsi_device_get(struct scsi_device *); extern int scsi_device_get(struct scsi_device *);
extern void scsi_device_put(struct scsi_device *); extern void scsi_device_put(struct scsi_device *);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment