mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 21:33:00 +00:00
[SCSI] don't call ips_eh_reset in ips_queue to avoid deadlock
When the locking was changed in the eh code ips_eh_reset was changed so that it was a wraper around __ips_eh_reset and all ips_eh_reset does is grab the host lock and then calls __ips_eh_reset. In the queuecommand, ips_queue is called with the host_lock held so if it calls ips_eh_reset we will have a problem. This patch just has ips_queue call __ips_eh_reset. Patch is only compile tested. I do not have the HW. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Acked-by: Hammer, Jack <Jack_Hammer@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
6d73c8514d
commit
ba3af0aff0
@ -1146,7 +1146,7 @@ ips_queue(Scsi_Cmnd * SC, void (*done) (Scsi_Cmnd *))
|
||||
return (0);
|
||||
}
|
||||
ha->ioctl_reset = 1; /* This reset request is from an IOCTL */
|
||||
ips_eh_reset(SC);
|
||||
__ips_eh_reset(SC);
|
||||
SC->result = DID_OK << 16;
|
||||
SC->scsi_done(SC);
|
||||
return (0);
|
||||
|
Loading…
Reference in New Issue
Block a user