• Mike Christie's avatar
    [SCSI] fix scsi_send_eh_cmnd regression · 0db99e33
    Mike Christie authored
    The callers of scsi_send_eh_cmnd are setting the cmnd buffer,
    and then scsi_send_eh_cmnd is copying that updated buffer to
    the old_cmnd variable. Then after the command runs, we end up
    copying that old_cmnd var which has the new cmnd to the scsi
    command buffer. When this command gets recent, all types of fun
    things happen like getting TUR or START_STOP commands with
    data and scatterlists.
    
    This patch made against scsi-rc-fixes, has the callers of
    scsi_send_eh_cmnd pass in the command so scsi_send_eh_cmnd
    can do the right thing. This should go into 2.6.18 since this
    fixes a regression added when we removed some of the scsi_cmnd
    fields and replaced them with local variables.
    Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
    0db99e33
scsi_error.c 49.2 KB