Skip to content
  • Roger Quadros's avatar
    ahci: Fix data abort on multiple scsi resets. · 3f629711
    Roger Quadros authored
    Commit 2faf5fb8 introduced a regression that causes a data
    abort when running scsi init followed by scsi reset.
    
    There are 2 problems with the original commit
    1) ALLOC_CACHE_ALIGN_BUFFER() allocates memory on the stack but is
    assigned to ataid[port] and used by other functions.
    2) The function ata_scsiop_inquiry() tries to free memory which was
    never allocated on the heap.
    
    Fix these problems by using tmpid as a temporary cache aligned buffer.
    Allocate memory separately for ataid[port] and re-use it if required.
    
    Fixes: 2faf5fb8
    
     (ahci: Fix cache align error messages)
    
    Reported-by: default avatarEli Nidam <elini@marvell.com>
    Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
    3f629711