On Tue, Nov 27, 2018 at 09:41:24PM -0800, James Bottomley wrote:
> Yes, it's because dma_addr_t can be u64 on pae systems but
> isa_virt_to_bus only ever returns unsigned long (because an ISA
> physical address can only be 24 bits).
> 
> I think this is the fix; there doesn't seem to be much point converting
> to do_div given all the limitations.

Yes, something along these lines should fix it.  I don't have the code
in front of me, but I vaguely remember there is a second division like
this, though.  It might be worth to factor the calculation into a helper
with a comment like the message above explaining it.

Reply via email to