The Atmel wireless driver in kernel version 2.6.7 is broken: the symptoms are an Oops message when the driver first loads and runs. This is caused by changes in the sysfs code. The following patch fixes things. Simon Kelley. 30/6/2004 diff -Naur linux-2.6.7.orig/drivers/net/wireless/atmel_cs.c linux-2.6.7/drivers/net/wireless/atmel_cs.c --- linux-2.6.7.orig/drivers/net/wireless/atmel_cs.c 2004-06-16 06:19:23.000000000 +0100 +++ linux-2.6.7/drivers/net/wireless/atmel_cs.c 2004-06-30 10:33:31.000000000 +0100 @@ -348,9 +348,19 @@ }; /* This is strictly temporary, until PCMCIA devices get integrated into the device model. */ -static struct device atmel_device = { - .bus_id = "pcmcia", -}; +static struct device *atmel_device(void) +{ + static char *kobj_name = "atmel_cs"; + + static struct device dev = { + .bus_id = "pcmcia", + }; + dev.kobj.k_name = kmalloc(strlen(kobj_name)+1, GFP_KERNEL); + strcpy(dev.kobj.k_name, kobj_name); + kobject_init(&dev.kobj); + + return &dev; +} static void atmel_config(dev_link_t *link) { @@ -537,12 +547,12 @@ "atmel: cannot assign IRQ: check that CONFIG_ISA is set in kernel config."); goto cs_failed; } - + ((local_info_t*)link->priv)->eth_dev = init_atmel_card(link->irq.AssignedIRQ, link->io.BasePort1, card_index == -1 ? NULL : card_table[card_index].firmware, - &atmel_device, + atmel_device(), card_present, link); if (!((local_info_t*)link->priv)->eth_dev)