Messages in this thread Patch in this message | | | Date | Fri, 18 Jul 2003 15:14:17 +0100 | From | Alan Cox <> | Subject | PATCH: use cpu_relax in seq8005 |
| |
diff -u --new-file --recursive --exclude-from /usr/src/exclude linux-2.6.0-test1/drivers/net/seeq8005.c linux-2.6.0-test1-ac2/drivers/net/seeq8005.c --- linux-2.6.0-test1/drivers/net/seeq8005.c 2003-07-10 21:12:51.000000000 +0100 +++ linux-2.6.0-test1-ac2/drivers/net/seeq8005.c 2003-07-15 17:34:48.000000000 +0100 @@ -700,7 +700,8 @@ * wait_for_buffer * * This routine waits for the SEEQ chip to assert that the FIFO is ready - * by checking for a window interrupt, and then clearing it + * by checking for a window interrupt, and then clearing it. This has to + * occur in the interrupt handler! */ inline void wait_for_buffer(struct net_device * dev) { @@ -710,7 +711,7 @@ tmp = jiffies + HZ; while ( ( ((status=inw(SEEQ_STATUS)) & SEEQSTAT_WINDOW_INT) != SEEQSTAT_WINDOW_INT) && time_before(jiffies, tmp)) - mb(); + cpu_relax(); if ( (status & SEEQSTAT_WINDOW_INT) == SEEQSTAT_WINDOW_INT) outw( SEEQCMD_WINDOW_INT_ACK | (status & SEEQCMD_INT_MASK), SEEQ_CMD); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |