Messages in this thread |  | | Date | Wed, 17 Oct 2001 17:22:17 +0100 | From | Arjan van de Ven <> | Subject | Re: Problem with 2.4.14prex and qlogicfc |
| |
"David S. Miller" wrote: > > From: Jens Axboe <axboe@suse.de> > Date: Wed, 17 Oct 2001 08:18:37 +0200 > > On Tue, Oct 16 2001, DICKENS,CARY (HP-Loveland,ex2) wrote: > > I'm seeing a problem on all the kernels that are 2.4.13pre1 and up. > > This smells like a bug in the pci64 conversion of qlogicfc. Maybe davem > has an idea, I'll take a look too. > > Not if it broke in pre1 since the pci64 stuff went into pre2 :-)
since it broke as of pre2, the following things are suspect:
if BITS_PER_LONG > 32 #define pci_dma_lo32(a) (a & 0xffffffff) #define pci_dma_hi32(a) ((a >> 32) & 0xffffffff) #else #define pci_dma_lo32(a) (a & 0xffffffff) #define pci_dma_hi32(a) 0 #endif
#if BITS_PER_LONG <= 32 #define VIRT_TO_BUS_LOW(a) (uint32_t)virt_to_bus(((void *)a)) #define VIRT_TO_BUS_HIGH(a) (uint32_t)(0x0) #else #define VIRT_TO_BUS_LOW(a) (uint32_t)(0xffffffff & virt_to_bus((void *)(a))) #define VIRT_TO_BUS_HIGH(a) (uint32_t)(0xffffffff & (virt_to_bus((void *)(a))> #endif#
if BITS_PER_LONG > 32 uint64_t request_dma; /* Physical address. */ #else uint32_t request_dma; /* Physical address. */ #endif
the later is abused instead of dma_addr_t and friends, and is used for several other physical address variables as well. - 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/
|  |