diff -Naur linux-2.6.9rc2/drivers/net/wireless/prism54/islpci_dev.c linux-2.6.9-rc2msw/drivers/net/wireless/prism54/islpci_dev.c --- linux-2.6.9rc2/drivers/net/wireless/prism54/islpci_dev.c 2004-10-02 12:23:39.000000000 +0200 +++ linux-2.6.9-rc2msw/drivers/net/wireless/prism54/islpci_dev.c 2004-10-02 12:26:51.000000000 +0200 @@ -486,6 +486,7 @@ /* The software reset acknowledge needs about 220 msec here. * Be conservative and wait for up to one second. */ + set_current_state(TASK_UNINTERRUPTIBLE); remaining = schedule_timeout(HZ); if(remaining > 0) { @@ -496,14 +497,14 @@ /* If we're here it's because our IRQ hasn't yet gone through. * Retry a bit more... */ - printk(KERN_ERR "%s: reset problem: no 'reset complete' IRQ seen\n", + printk(KERN_ERR "%s: no 'reset complete' IRQ seen - retrying\n", priv->ndev->name); } finish_wait(&priv->reset_done, &wait); if (result) { - printk(KERN_ERR "%s: islpci_reset_if: failure\n", priv->ndev->name); + printk(KERN_ERR "%s: interface reset failure\n", priv->ndev->name); return result; } diff -Naur linux-2.6.9rc2/drivers/net/wireless/prism54/islpci_mgt.c linux-2.6.9-rc2msw/drivers/net/wireless/prism54/islpci_mgt.c --- linux-2.6.9rc2/drivers/net/wireless/prism54/islpci_mgt.c 2004-10-02 12:23:40.000000000 +0200 +++ linux-2.6.9-rc2msw/drivers/net/wireless/prism54/islpci_mgt.c 2004-10-02 12:27:10.000000000 +0200 @@ -473,6 +473,7 @@ int timeleft; struct islpci_mgmtframe *frame; + set_current_state(TASK_UNINTERRUPTIBLE); timeleft = schedule_timeout(wait_cycle_jiffies); frame = xchg(&priv->mgmt_received, NULL); if (frame) {