Re: swiotlb default size (64 MB) too small?

From: Stefan Richter
Date: Tue Jan 27 2009 - 18:46:41 EST


FUJITA Tomonori wrote:
> On Tue, 27 Jan 2009 18:03:40 +0100 (CET)
> Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> wrote:
>> +static void sbp2_unmap_scatterlist(struct device *card_device,
>> + struct sbp2_command_orb *orb)
>> +{
>> + if (scsi_sg_count(orb->cmd))
>> + dma_unmap_sg(card_device, scsi_sglist(orb->cmd),
>> + scsi_sg_count(orb->cmd),
>> + orb->cmd->sc_data_direction);
>> +
>> + if (orb->page_table_bus)
>> + dma_unmap_single(card_device, orb->page_table_bus,
>> + sizeof(orb->page_table), DMA_TO_DEVICE);
>
> Well, this does not look correct since zero can be a valid dma
> address.

Hmm.

> static void sbp2_unmap_scatterlist(struct device *card_device,
> struct sbp2_command_orb *orb)
> {
> if (scsi_sg_count(orb->cmd))
> dma_unmap_sg(card_device, scsi_sglist(orb->cmd),
> scsi_sg_count(orb->cmd),
> orb->cmd->sc_data_direction);
>
> if (scsi_sg_count(orb->cmd) > 1)
> dma_unmap_single(card_device, orb->page_table_bus,
> sizeof(orb->page_table), DMA_TO_DEVICE);
>
>
> Well, looks cranky a bit but firewire is cranky for me :)

Even if scsi_sg_count(cmd) > 1, the outcome of dma_map_sg() could have
been 1, couldn't it? So I need to take note of that in another way.
--
Stefan Richter
-=====-==--= ---= ===--
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/