Stephen M. Cameron 396883e292 [SCSI] hpsa: prevent stalled i/o
If a fifo full condition is encountered, i/o requests will stack
up in the h->reqQ queue.  The only thing which empties this queue
is start_io, which only gets called when new i/o requests come in.
If none are forthcoming, i/o in h->reqQ will be stalled.

To fix this, whenever fifo full condition is encountered, this
is recorded, and the interrupt handler examines this to see
if a fifo full condition was recently encountered when a
command completes and will call start_io to prevent i/o's in
h->reqQ from getting stuck.

I've only ever seen this problem occur when running specialized
test programs that pound on the the CCISS_PASSTHRU ioctl.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-12-19 07:38:56 -08:00
..
2013-05-28 12:02:12 +02:00
2013-04-09 14:13:27 -04:00
2013-11-10 12:19:15 +08:00
2011-07-26 16:49:47 -07:00
2013-11-14 12:25:38 +09:00
2013-08-26 12:51:30 +04:00
2013-04-09 14:13:21 -04:00
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00
2013-04-09 14:13:15 -04:00
2013-04-09 14:13:22 -04:00
2010-11-16 13:33:23 -08:00
2013-04-09 14:13:23 -04:00
2013-02-27 19:10:18 -08:00
2011-03-31 11:26:23 -03:00
2013-10-25 11:36:26 +01:00
2013-04-09 14:13:17 -04:00
2013-04-09 14:13:17 -04:00
2011-05-01 10:22:40 -05:00
2013-04-09 14:13:17 -04:00
2010-11-16 13:33:23 -08:00
2013-04-09 14:13:16 -04:00
2013-04-09 14:13:16 -04:00
2013-04-09 14:13:16 -04:00
2013-04-09 14:13:15 -04:00
2013-12-19 07:38:56 -08:00
2013-12-19 07:38:56 -08:00
2013-04-09 14:13:16 -04:00
2013-04-09 14:13:25 -04:00
2010-11-16 13:33:23 -08:00
2011-03-31 11:26:23 -03:00
2013-04-09 14:13:27 -04:00
2013-09-03 15:48:06 -07:00
2013-04-09 14:13:17 -04:00
2013-04-09 14:13:17 -04:00
2012-03-28 18:30:03 +01:00
2013-04-09 14:13:15 -04:00
2010-11-16 13:33:23 -08:00
2013-04-09 14:13:17 -04:00
2013-04-09 14:13:17 -04:00
2011-03-31 11:26:23 -03:00
2012-03-28 18:30:03 +01:00
2011-03-31 11:26:23 -03:00
2013-04-09 14:13:17 -04:00
2013-04-09 14:13:17 -04:00
2013-12-06 08:30:18 -08:00
2012-02-21 11:40:37 +01:00
2013-04-09 14:13:17 -04:00
2010-11-16 13:33:23 -08:00
2010-11-16 13:33:23 -08:00
2013-10-25 12:00:23 +01:00
2012-01-03 22:54:07 -05:00
2013-12-16 10:57:51 -08:00
2012-09-14 17:59:29 +01:00
2013-05-04 14:50:16 -04:00
2013-05-04 14:50:16 -04:00
2013-05-04 14:50:16 -04:00
2010-11-16 13:33:23 -08:00
2013-04-09 14:13:17 -04:00
2013-04-09 14:13:17 -04:00
2010-11-16 13:33:23 -08:00
2013-04-09 14:13:15 -04:00
2013-04-09 14:13:15 -04:00
2013-04-09 14:13:15 -04:00