• Stephen M. Cameron's avatar
    [SCSI] hpsa: prevent stalled i/o · 396883e2
    Stephen M. Cameron authored
    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: default avatarStephen M. Cameron <scameron@beardog.cce.hp.com>
    Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
    396883e2
hpsa.c 149 KB