• Jens Axboe's avatar
    [PATCH] fix SCSI bounce limit · 6cc68b05
    Jens Axboe authored
    Just had a case with a gdth adapter not working in a 16GB box. Seems to
    me that the SCSI bounce decision is completely screwy - it returns the
    device dma mask, if it is set only and the box doesn't have an iommu. So
    if we can't get the mask, we allow any io. Not so good. I think the
    logic should be more as follows:
    
    	if (isa)
    		return bounce_above_isa;
    	if (has_iommu)
    		return bounce_nothing;
    
    	if (we_know_device_dma_mask)
    		return mask;
    	else
    		return default_to_32bit;
    
    Patch corrects scsi_calculate_bounce_limit() to actually work partly
    sanely.
    Signed-off-by: default avatarJens Axboe <axboe@suse.de>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
    6cc68b05
scsi_lib.c 49.6 KB