Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

scsi: message: fusion: Use dma_alloc_coherent() in mpt_alloc_fw_memory()

In [1], Christoph Hellwig has proposed to remove the wrappers in
include/linux/pci-dma-compat.h.

Some reasons why this API should be removed have been given by Julia Lawall
in [2].

mpt_alloc_fw_memory() should still use GFP_ATOMIC, because it can be called
from mpt_do_upload() which might sleep.

[1]: https://lore.kernel.org/kernel-janitors/20200421081257.GA131897@infradead.org/
[2]: https://lore.kernel.org/kernel-janitors/alpine.DEB.2.22.394.2007120902170.2424@hadrien/

Link: https://lore.kernel.org/r/db3db9db219005b75659561d08117d312d0cfb13.1641500561.git.christophe.jaillet@wanadoo.fr
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by

Christophe JAILLET and committed by
Martin K. Petersen
2d506072 b114dda6

+2 -1
+2 -1
drivers/message/fusion/mptbase.c
··· 3512 3512 rc = 0; 3513 3513 goto out; 3514 3514 } 3515 - ioc->cached_fw = pci_alloc_consistent(ioc->pcidev, size, &ioc->cached_fw_dma); 3515 + ioc->cached_fw = dma_alloc_coherent(&ioc->pcidev->dev, size, 3516 + &ioc->cached_fw_dma, GFP_ATOMIC); 3516 3517 if (!ioc->cached_fw) { 3517 3518 printk(MYIOC_s_ERR_FMT "Unable to allocate memory for the cached firmware image!\n", 3518 3519 ioc->name);