Re: BUG: PCI driver 64-bit bar size

From: Daniel Phillips (phillips@arcor.de)
Date: Sat Sep 07 2002 - 06:41:35 EST


On Thursday 05 September 2002 20:16, Todd Inglett wrote:
> Now in my case, I have an adapter that insists the upper 32-bits of a
> 64-bit BAR must be zero (don't ask me why -- doesn't make sense to me
> either, but they are indeed hard-wired). So after plugging in ffff's
> into both BARs I effectively get 0x00000000fffff000 (again after masking
> flags). I would expect a length of 0x1000 for this (extent 0xfff), but
> Linux computes an extent of 0xffffffffffffffff! Since the spec says the
> length is computed from the first one bit I'll assume this is wrong.
> The code should account for the lower dword as well as the upper.
>
> So my fix is attached. I chose to use pci_size() in the computation of
> the upper dword for consistency. Perhaps there should be a defined mask
> for the upper dword in pci.h (i.e. PCI_BASE_ADDRESS_MEM_64_MASK?) rather
> than hard coding 0xffffffff. The patch is against 2.4.20-pre4.

A bug fix like this should at least be cc'd to Marcelo.

-- 
Daniel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Sep 07 2002 - 22:00:31 EST