From: Denis V. <vd...@po...> - 2005-03-28 10:45:03
Attachments:
1.kill_cleanup.patch
|
acx_cleanup_card_and_resources has exactly one callsite. Let's move it in there, fixing bugs on the way. -- vda |
From: Denis V. <vd...@po...> - 2005-03-28 10:48:05
Attachments:
2.fwload.patch
|
If we ever want to get into mainline, we need to use 'politically correct' way of loading firmaware. Old way is retained so far, can be disabled with #define. -- vda |
From: Andreas M. <an...@us...> - 2005-03-28 11:27:19
|
Hi, On Mon, Mar 28, 2005 at 01:47:38PM +0300, Denis Vlasenko wrote: > If we ever want to get into mainline, we need > to use 'politically correct' way of loading firmaware. Nice! This was on my list of things to do, but I had too many other things to do before that one... > Old way is retained so far, can be disabled with #define. Perfect! Methinks all that stuff will "require" a pf50 within few days... Thanks a lot, Andreas |
From: Denis V. <vd...@po...> - 2005-03-29 06:19:18
Attachments:
e.txpath.patch
|
On Monday 28 March 2005 14:27, Andreas Mohr wrote: > Hi, > > On Mon, Mar 28, 2005 at 01:47:38PM +0300, Denis Vlasenko wrote: > > If we ever want to get into mainline, we need > > to use 'politically correct' way of loading firmaware. > Nice! This was on my list of things to do, but I had too many other things > to do before that one... > > > Old way is retained so far, can be disabled with #define. > Perfect! > > Methinks all that stuff will "require" a pf50 within few days... I think I see a bug. I was learning how tx path is working, and in acx_ether_to_txdesc() in 'if (proto <= 1500)' code path I can't see where header->length is assigned. Shouldn't it be set to WLAN_HDR_A3_LEN? Also, driver uses payload->length = proto, but why said that skb cannot contain a fake eth header where proto != skb->len - sizeof(wlan_ethhdr_t)? Code can memcpy too much data from behind skb tail into txdesc... Patch is attached. Sorry, it is a bit clouded with other cleanups: a) reduce le_to_cpu'ing using temp variables b) do not doubly initialize local vars c) fix debug output -- vda |
From: Denis V. <vd...@po...> - 2005-03-29 06:33:38
Attachments:
f.nodebug.patch
|
> Patch is attached. Sorry, it is a bit clouded with other cleanups: > a) reduce le_to_cpu'ing using temp variables > b) do not doubly initialize local vars > c) fix debug output On top of that: make it compile if ACX_DEBUG=0 in Makefile a) change #ifdef ACX_DEBUG into #if ACX_DEBUG so that ACX_DEBUG=0 in Makefile works as expected b) give debug and L_xxxx constant zero values, allowing gcc to optimize debug code out c) convert static string variables into #defines, allowing them to be optimized out d) style fixes Size difference: # size acx_pci.o acx_pci.o.DEBUG1 text data bss dec hex filename 53379 436 160 53975 d2d7 acx_pci.o 103545 500 192 104237 1972d acx_pci.o.DEBUG1 Some unused variables remain: # make modules Using /.share/usr/src2/kernel/linux-2.6.11.src as source for kernel GEN /.share/usr/src2/kernel/linux-2.6.11-smp8k/Makefile CHK include/linux/version.h make[2]: `arch/i386/kernel/asm-offsets.s' is up to date. CHK include/asm-i386/asm_offsets.h drivers/net/wireless/acx/Makefile:9: ACX_IO_WIDTH was not defined, assuming 16bit access CC [M] drivers/net/wireless/acx/acx100.o /.share/usr/src2/kernel/linux-2.6.11.src/drivers/net/wireless/acx/acx100.c: In function `acx_handle_info_irq': /.share/usr/src2/kernel/linux-2.6.11.src/drivers/net/wireless/acx/acx100.c:1691: warning: unused variable `info_type_msg' CC [M] drivers/net/wireless/acx/acx100_helper.o /.share/usr/src2/kernel/linux-2.6.11.src/drivers/net/wireless/acx/acx100_helper.c:2970:2: warning: #warning Is this used anymore? /.share/usr/src2/kernel/linux-2.6.11.src/drivers/net/wireless/acx/acx100_helper.c: In function `acx_update_capabilities': /.share/usr/src2/kernel/linux-2.6.11.src/drivers/net/wireless/acx/acx100_helper.c:3845: warning: unused variable `old_caps' CC [M] drivers/net/wireless/acx/acx100_helper2.o /.share/usr/src2/kernel/linux-2.6.11.src/drivers/net/wireless/acx/acx100_helper2.c: In function `acx_process_probe_response': /.share/usr/src2/kernel/linux-2.6.11.src/drivers/net/wireless/acx/acx100_helper2.c:1554: warning: unused variable `a' CC [M] drivers/net/wireless/acx/ihw.o CC [M] drivers/net/wireless/acx/idma.o /.share/usr/src2/kernel/linux-2.6.11.src/drivers/net/wireless/acx/idma.c:2408: warning: 'acx_get_packet_type_string' defined but not used CC [M] drivers/net/wireless/acx/acx80211frm.o CC [M] drivers/net/wireless/acx/acx100_ioctl.o /.share/usr/src2/kernel/linux-2.6.11.src/drivers/net/wireless/acx/acx100_ioctl.c: In function `acx_ioctl_dbg_get_io': /.share/usr/src2/kernel/linux-2.6.11.src/drivers/net/wireless/acx/acx100_ioctl.c:2392: warning: unused variable `priv' CC [M] drivers/net/wireless/acx/acx100_conv.o CC [M] drivers/net/wireless/acx/ioregister.o LD [M] drivers/net/wireless/acx/acx_pci.o Building modules, stage 2. MODPOST LD [M] drivers/net/wireless/acx/acx_pci.ko -- vda |
From: Denis V. <vd...@po...> - 2005-03-29 07:32:50
|
On Tuesday 29 March 2005 09:33, Denis Vlasenko wrote: > +#ifdef __LITTLE_ENDIAN > + acxlog(L_STD, "Running on a little-endian CPU\n", endianness); > +#else > + acxlog(L_STD, "Running on a BIG-ENDIAN CPU\n", endianness); > +#endif Oh my. Goof up. Please do s/, endianness// above -- vda |