[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>
This commit is contained in:
parent
df6c6804ce
commit
bc86120a85
|
@ -584,7 +584,7 @@ static int scsi_request_sense(struct scsi_cmnd *scmd)
|
||||||
|
|
||||||
memcpy(scmd->cmnd, generic_sense, sizeof(generic_sense));
|
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)) {
|
if (unlikely(!scsi_result)) {
|
||||||
|
|
|
@ -801,7 +801,7 @@ static int scsi_probe_and_add_lun(struct scsi_target *starget,
|
||||||
if (!sreq)
|
if (!sreq)
|
||||||
goto out_free_sdev;
|
goto out_free_sdev;
|
||||||
result = kmalloc(256, GFP_ATOMIC |
|
result = kmalloc(256, GFP_ATOMIC |
|
||||||
(shost->unchecked_isa_dma) ? __GFP_DMA : 0);
|
((shost->unchecked_isa_dma) ? __GFP_DMA : 0));
|
||||||
if (!result)
|
if (!result)
|
||||||
goto out_free_sreq;
|
goto out_free_sreq;
|
||||||
|
|
||||||
|
|
Reference in New Issue