Ver código fonte

[PATCH] SCSI GFP fixes

Somebody forgot that | has higher priority than ?:.  As the result,
allocation is done with bogus flags - instead of GFP_ATOMIC + possibly
GFP_DMA we always get GFP_DMA and no GFP_ATOMIC. 

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro 20 anos atrás
pai
commit
bc86120a85
2 arquivos alterados com 2 adições e 2 exclusões
  1. 1 1
      drivers/scsi/scsi_error.c
  2. 1 1
      drivers/scsi/scsi_scan.c

+ 1 - 1
drivers/scsi/scsi_error.c

@@ -584,7 +584,7 @@ static int scsi_request_sense(struct scsi_cmnd *scmd)
 
 	memcpy(scmd->cmnd, generic_sense, sizeof(generic_sense));
 
-	scsi_result = kmalloc(252, GFP_ATOMIC | (scmd->device->host->hostt->unchecked_isa_dma) ? __GFP_DMA : 0);
+	scsi_result = kmalloc(252, GFP_ATOMIC | ((scmd->device->host->hostt->unchecked_isa_dma) ? __GFP_DMA : 0));
 
 
 	if (unlikely(!scsi_result)) {

+ 1 - 1
drivers/scsi/scsi_scan.c

@@ -801,7 +801,7 @@ static int scsi_probe_and_add_lun(struct scsi_target *starget,
 	if (!sreq)
 		goto out_free_sdev;
 	result = kmalloc(256, GFP_ATOMIC |
-			(shost->unchecked_isa_dma) ? __GFP_DMA : 0);
+			((shost->unchecked_isa_dma) ? __GFP_DMA : 0));
 	if (!result)
 		goto out_free_sreq;