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 mptsas_exp_repmanufacture_info()

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].

The only caller of mptsas_exp_repmanufacture_info() is
mptsas_probe_one_phy(). This function already calls sas_end_device_alloc()
or sas_expander_alloc(). They both already use GFP_KERNEL.

As no spin_lock is held at this point, it is safe to also use GFP_KERNEL
here.

[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/d78d4a5b096897932808ed7e3a4540db1687c25d.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
7a960b3a 5c5e6b6f

+2 -1
+2 -1
drivers/message/fusion/mptsas.c
··· 2896 2896 2897 2897 sz = sizeof(struct rep_manu_request) + sizeof(struct rep_manu_reply); 2898 2898 2899 - data_out = pci_alloc_consistent(ioc->pcidev, sz, &data_out_dma); 2899 + data_out = dma_alloc_coherent(&ioc->pcidev->dev, sz, &data_out_dma, 2900 + GFP_KERNEL); 2900 2901 if (!data_out) { 2901 2902 printk(KERN_ERR "Memory allocation failure at %s:%d/%s()!\n", 2902 2903 __FILE__, __LINE__, __func__);