* [PATCH 2.6] Prevent tulip cardbus cards from freezing machine
@ 2004-05-27 9:59 Olaf Kirch
0 siblings, 0 replies; only message in thread
From: Olaf Kirch @ 2004-05-27 9:59 UTC (permalink / raw)
To: netdev
[-- Attachment #1: Type: text/plain, Size: 379 bytes --]
Hi,
here's a patch that should prevent lockups with tulip cardbus cards
after APM suspend/resume, or when pulling out the card.
The problem is that the status register seems to return 0xffffffff in
this case, and tulip_poll thinks RxIntr is asserted all the time.
Please review.
Cheers
Olaf
--
Olaf Kirch | The Hardware Gods hate me.
okir@suse.de |
---------------+
[-- Attachment #2: tulip-pcmcia-remove --]
[-- Type: text/plain, Size: 855 bytes --]
--- linux-2.6.5/drivers/net/tulip/interrupt.c.suspend 2004-04-04 05:36:48.000000000 +0200
+++ linux-2.6.5/drivers/net/tulip/interrupt.c 2004-05-25 12:24:07.000000000 +0200
@@ -113,6 +113,7 @@
int entry = tp->cur_rx % RX_RING_SIZE;
int rx_work_limit = *budget;
int received = 0;
+ int csr5;
if (!netif_running(dev))
goto done;
@@ -254,7 +255,12 @@
* No idea how to fix this if "playing with fire" will fail
* tomorrow (night 011029). If it will not fail, we won
* finally: amount of IO did not increase at all. */
- } while ((inl(dev->base_addr + CSR5) & RxIntr));
+ csr5 = inl(dev->base_addr + CSR5);
+ if (csr5 == 0xffffffff) {
+ printk(KERN_DEBUG "tulip_poll: hardware disappeared.\n");
+ break;
+ }
+ } while (csr5 & RxIntr);
done:
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-05-27 9:59 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-05-27 9:59 [PATCH 2.6] Prevent tulip cardbus cards from freezing machine Olaf Kirch
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).