Re: [PATCH] aic94xx: fix SMP request DMA direction

Darrick J. Wong
2007-09-28T23:55:13Z

On Thu, Sep 27, 2007 at 10:33:41PM -0400, Jeff Garzik wrote:
>
> Unless I'm missing something, the SMP request goes /to/ the PCI device :)
>
> Signed-off-by: Jeff Garzik <jeff@garzik.org>

ACK; builds ok and SMP commands seem to work ok (not that they didn't
before).

--Darrick

> ---
> drivers/scsi/aic94xx/aic94xx_task.c | 4 -
> 2 files changed, 83 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/scsi/aic94xx/aic94xx_task.c b/drivers/scsi/aic94xx/aic94xx_task.c
> index d5d8cab..ab13824 100644
> --- a/drivers/scsi/aic94xx/aic94xx_task.c
> +++ b/drivers/scsi/aic94xx/aic94xx_task.c
> @@ -451,7 +451,7 @@ static int asd_build_smp_ascb(struct asd_ascb *ascb, struct sas_task *task,
> struct scb *scb;
>
> pci_map_sg(asd_ha->pcidev, &task->smp_task.smp_req, 1,
> - PCI_DMA_FROMDEVICE);
> + PCI_DMA_TODEVICE);
> pci_map_sg(asd_ha->pcidev, &task->smp_task.smp_resp, 1,
> PCI_DMA_FROMDEVICE);
>
> @@ -486,7 +486,7 @@ static void asd_unbuild_smp_ascb(struct asd_ascb *a)
>
> BUG_ON(!task);
> pci_unmap_sg(a->ha->pcidev, &task->smp_task.smp_req, 1,
> - PCI_DMA_FROMDEVICE);
> + PCI_DMA_TODEVICE);
> pci_unmap_sg(a->ha->pcidev, &task->smp_task.smp_resp, 1,
> PCI_DMA_FROMDEVICE);
> }
> -
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html