• Stephen M. Cameron's avatar
    [SCSI] hpsa: fix block fetch table problem. · def342bd
    Stephen M. Cameron authored
    We have 32 (MAXSGENTRIES) scatter gather elements embedded
    in the command.  With all these, the total command size is
    about 576 bytes.  However, the last entry in the block fetch table
    is 35.  (the block fetch table contains the number of 16-byte chunks
    the firmware needs to fetch for a given number of scatter gather
    elements.)  35 * 16 = 560 bytes, which isn't enough.  It needs to be
    36. (36 * 16 == 576) or, MAXSGENTRIES + 4.  (plus 4 because there's a
    bunch of stuff at the front of the command before the first scatter
    gather element that takes up 4 * 16 bytes.)  Without this fix, the
    controller may have to perform two DMA operations to fetch the
    command since the first one may not get the whole thing.
    Signed-off-by: default avatarDon Brace <brace@beardog.cce.hp.com>
    Signed-off-by: default avatarStephen M. Cameron <scameron@beardog.cce.hp.com>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
    def342bd
hpsa.c 108 KB