mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-22 20:43:56 +08:00
xen-scsifront: don't deadlock if the ring becomes full
scsifront_action_handler() will deadlock on host->host_lock, if the ring is full and it has to wait for entries to become available. Signed-off-by: David Vrabel <david.vrabel@citrix.com> Reviewed-by: Juergen Gross <jgross@suse.com>
This commit is contained in:
parent
f955371ca9
commit
7921a11c7b
@ -541,8 +541,9 @@ static int scsifront_action_handler(struct scsi_cmnd *sc, uint8_t act)
|
||||
if (!shadow)
|
||||
return FAILED;
|
||||
|
||||
spin_lock_irq(host->host_lock);
|
||||
|
||||
for (;;) {
|
||||
spin_lock_irq(host->host_lock);
|
||||
if (!RING_FULL(&info->ring)) {
|
||||
ring_req = scsifront_command2ring(info, sc, shadow);
|
||||
if (ring_req)
|
||||
|
Loading…
Reference in New Issue
Block a user