Message ID | 1440532074-28321-1-git-send-email-emilne@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 15-08-25 03:47 PM, Ewan D. Milne wrote: > From: "Ewan D. Milne" <emilne@redhat.com> > > commit cbf67842c3d9 ("scsi_debug: support scsi-mq, queues and locks") > added a test for devip == NULL in schedule_resp which returned > SCSI_MLQUEUE_HOST_BUSY. Unfortunately, if scsi_level 1 or 2 is specified, > devip will be NULL for the INQUIRY command for the next LUN above the > configured value and it will be retried indefinitely with an error message. > Fix this by returning the command in the same context if no devip exists. > > Signed-off-by: Ewan D. Milne <emilne@redhat.com> Acked-by: Douglas Gilbert <dgilbert@interlog.com> -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c index 30268bb..25f5cee1 100644 --- a/drivers/scsi/scsi_debug.c +++ b/drivers/scsi/scsi_debug.c @@ -3944,8 +3944,11 @@ schedule_resp(struct scsi_cmnd *cmnd, struct sdebug_dev_info *devip, struct sdebug_queued_cmd *sqcp = NULL; struct scsi_device *sdp = cmnd->device; - if (NULL == cmnd || NULL == devip) { - pr_warn("%s: called with NULL cmnd or devip pointer\n", + /* devip will be NULL when probing nonexistent LUNs w/o REPORT LUNS */ + if (NULL == devip) + goto respond_in_thread; + if (NULL == cmnd) { + pr_warn("%s: called with NULL cmnd pointer\n", __func__); /* no particularly good error to report back */ return SCSI_MLQUEUE_HOST_BUSY;