Unchanged, since no one has objected. Please consider applying it. Patch is against scsi-misc-2.6 this time. It seems to be safe to replace all 4 occurrences of GFP_ATOMIC in scsi_scan.c by GFP_KERNEL. I found that calling code always held a mutex (indicating process context) while not acquiring a spin_lock or such inside the mutex sections and when using GFP_ATOMIC (see details below). Signed-off-by: Martin Peschke <mp3@xxxxxxxxxx> --- scsi_scan.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index a24d346..80f10ee 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c @@ -152,7 +152,7 @@ static struct scsi_device *scsi_alloc_sd struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); sdev = kzalloc(sizeof(*sdev) + shost->transportt->device_size, - GFP_ATOMIC); + GFP_KERNEL); if (!sdev) goto out; @@ -587,7 +587,7 @@ static int scsi_add_lun(struct scsi_devi * scanning run at their own risk, or supply a user level program * that can correctly scan. */ - sdev->inquiry = kmalloc(sdev->inquiry_len, GFP_ATOMIC); + sdev->inquiry = kmalloc(sdev->inquiry_len, GFP_KERNEL); if (sdev->inquiry == NULL) { return SCSI_SCAN_NO_RESPONSE; } @@ -848,7 +848,7 @@ static int scsi_probe_and_add_lun(struct if (!sdev) goto out; - result = kmalloc(result_len, GFP_ATOMIC | + result = kmalloc(result_len, GFP_KERNEL | ((shost->unchecked_isa_dma) ? __GFP_DMA : 0)); if (!result) goto out_free_sdev; @@ -1159,7 +1159,7 @@ static int scsi_report_lun_scan(struct s * prevent us from finding any LUNs on this target. */ length = (max_scsi_report_luns + 1) * sizeof(struct scsi_lun); - lun_data = kmalloc(length, GFP_ATOMIC | + lun_data = kmalloc(length, GFP_KERNEL | (sdev->host->unchecked_isa_dma ? __GFP_DMA : 0)); if (!lun_data) { printk(ALLOC_FAILURE_MSG, __FUNCTION__); - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html