On Wed, 17 Oct 2007 11:34:57 -0700 (PDT) bugme-daemon@xxxxxxxxxxxxxxxxxxx wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=9179 > > Summary: 2.6.23.1 / USB_ZD1201: Kernel panic with zd1201 driver > Product: Drivers > Version: 2.5 > KernelVersion: 2.6.23.1 > Platform: All > OS/Version: Linux > Tree: Mainline > Status: NEW > Severity: normal > Priority: P1 > Component: network-wireless > AssignedTo: drivers_network-wireless@xxxxxxxxxxxxxxxxxxxx > ReportedBy: zairasai@xxxxxxxxxxxxxx > > > [1.] One line summary of the problem: > > 2.6.23.1 / USB_ZD1201: Kernel panic with zd1201 driver > > > > > [2.] Full description of the problem: > > The zd1201-driver (symbol: USB_ZD1201) triggers a kernel panic during > initialization of the WLAN device, showing the following message: > > EIP: [<e095e1d1>] zd1201_usbrx+0x6e1/0xbb0 [zd1201] SS:ESP 0068:c0469d7c > Kernel panic - not syncing: Fatal exception in interrupt > > According to the init output during bootup, the panic seems to occur right when > the WLAN device receives an IP address from the DHCP-Server of the > WLAN/DSL-Router. The WLAN device is (in my case) a 'Belkin F5D6051' based on > the ZyDAS 1201 chip. > > As far as i know, the only recent change in 'drivers/net/wireless/zd1201.c' was > done in patch-2.6.22, so the bug probably affects all kernel versions later > than 2.6.21.7, but at least the ones i've tested (which are listed in the > summary below). It also recently came up in some different > distribution-specific forums/bugtrackers, so it does not seem to be specific to > my machine/setup. A link to another report on this problem is included at the > end of this report. > > Below is an extract of patch-2.6.22, showing that the lines 330 and 388 have > been removed from 'drivers/net/wireless/zd1201.c'. I put those two lines back, > which made things work as expected again; however, that is only meant as a > hint, since i don't know why they were taken out or what other implications my > change might have. > > patch-2.6.22, lines 586509-586528: > {{{ > diff --git a/drivers/net/wireless/zd1201.c b/drivers/net/wireless/zd1201.c > index 6cb66a3..935b144 100644 > --- a/drivers/net/wireless/zd1201.c > +++ b/drivers/net/wireless/zd1201.c > @@ -327,7 +327,6 @@ static void zd1201_usbrx(struct urb *urb) > memcpy(skb_put(skb, 6), &data[datalen-8], 6); > memcpy(skb_put(skb, 2), &data[datalen-24], 2); > memcpy(skb_put(skb, len), data, len); > - skb->dev = zd->dev; > skb->dev->last_rx = jiffies; > skb->protocol = eth_type_trans(skb, zd->dev); > zd->stats.rx_packets++; > @@ -385,7 +384,6 @@ static void zd1201_usbrx(struct urb *urb) > memcpy(skb_put(skb, 2), &data[6], 2); > memcpy(skb_put(skb, len), data+8, len); > } > - skb->dev = zd->dev; > skb->dev->last_rx = jiffies; > skb->protocol = eth_type_trans(skb, zd->dev); > zd->stats.rx_packets++; > }}} > Arnaldo, we have a pretty solid report here that your 4c13eb6657fe9ef7b4dc8f1a405c902e9e5234e0 made this driver go crash. - 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