Patch "53c700: fix BUG on untagged commands" has been added to the 4.6-stable tree
This is a note to let you know that I've just added the patch titled
53c700: fix BUG on untagged commands
to the 4.6-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
53c700-fix-bug-on-untagged-commands.patch
and it can be found in the queue-4.6 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
8beb330044d0d1878c7b92290e91c0b889e92633Mon Sep 17 00:00:00 2001
From: James Bottomley <[email protected]>
Date: Mon, 13 Jun 2016 22:00:07 -0700
Subject: 53c700: fix BUG on untagged commands
From: James Bottomley <[email protected]>
commit 8beb330044d0d1878c7b92290e91c0b889e92633 upstream.
The untagged command case in the 53c700 driver has been broken since host wide tags were enabled because the replaced scsi_find_tag() function had a special case for the tag value SCSI_NO_TAG to retrieve sdev->current_cmnd. The replacement function scsi_host_find_tag() has no such special case and returns NULL causing untagged commands to trigger a BUG() in the driver. Inspection shows that the 53c700 is the only driver using this SCSI_NO_TAG case, so a local fix in the driver suffices to fix this problem globally.
--- drivers/scsi/53c700.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/scsi/53c700.c +2 -2
@@ -1122,7 +1122,7 @@ process_script_interrupt(__u32 dsps, __u }else {struct scsi_cmnd *SCp; - SCp =scsi_host_find_tag (SDp->host,SCSI_NO_TAG ); + SCp = SDp->current_cmnd;if (unlikely (SCp ==NULL )) {sdev_printk (KERN_ERR , SDp,"no saved request for untagged cmd\n" );
@@ -1826,7 +1826,7 @@ NCR_700_queuecommand_lck(struct scsi_cmn slot->tag, slot); }else { slot->tag =SCSI_NO_TAG ; -/* must populate current_cmnd for scsi_host_find_tag to work */ +/* save current command for reselection */ SCp->device->current_cmnd = SCp; }/* sanity check: some of the commands generated by the mid-layer
Patches currently in stable-queue which might be from [email protected] are
queue-4.6/scsi-fix-race-between-simultaneous-decrements-of-host_failed.patch queue-4.6/53c700-fix-bug-on-untagged-commands.patch