scsi_track_queue_full — track QUEUE_FULL events to adjust queue depth


int scsi_track_queue_full (struct scsi_device * sdev,
 int depth);


struct scsi_device * sdev

SCSI Device in question

int depth

Current number of outstanding SCSI commands on this device, not counting the one returned as QUEUE_FULL.


This function will track successive QUEUE_FULL events on a specific SCSI device to determine if and when there is a need to adjust the queue depth on the device.


0 - No change needed, >0 - Adjust queue depth to this new depth, -1 - Drop back to untagged operation using host->cmd_per_lun as the untagged command depth

Lock Status: None held on entry


Low level drivers may call this at any time and we will do The Right Thing. We are interrupt context safe.