On Sun, 9 Dec 2007 19:41:58 +0000 (GMT) Chris Rankin <rankincj@xxxxxxxxx> wrote: > Hi, > > I've recently been having trouble loading the hostap_plx 802.11b > wireless networking driver, and this evening I managed to narrow the > problem down to these lines of code by copying code from hostap_plx > into a "test driver" until the test driver also locked the PC up: > > /* read CIS; it is in even offsets in the beginning of > attr_mem */ for (i = 0; i < CIS_MAX_LEN; i++) > cis[i] = readb(attr_mem + 2 * i); > > If I comment these lines out then my test driver just complains about > the garbage CIS information and fails gracefully. Leave these lines > in and my PC freezes instantly. > > These lines are part of the prism2_plx_check_cis() function, which is > called when the module first loads. CIX_MAX_LEN is a #define for 256, > and cis is a u8* pointer previously allocated as: > > cis = kmalloc(CIS_MAX_LEN, GFP_KERNEL); > > attr_mem is one of the function's paramters, and is defined as void > __iomem *attr_mem. can you check if the attr_mem is properly ioremap'd ? (probably with ioremap_nocache) > Region 2: Memory at e8002000 (32-bit, non-prefetchable) > [size=4K] Region 3: I/O ports at 1080 [size=64] > > so there is apparently 4K of I/O memory at 0xe8002000. > > Can anyone help me understand why my PC is locking up when it > executes this code, please? I wonder if there's anything else in that area as well.. -- If you want to reach me at my work email, use arjan@xxxxxxxxxxxxxxx For development, discussion and tips for power savings, visit http://www.lesswatts.org - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html