The change for PMAD support introduced a bug, where the ownership of RX descriptors was given back to the LANCE in the wrong way. Occasional lockups would happen as a result. This is a fix for this problem. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> --- Tested with the onboard LANCE of a DECstation 5000/133. Please apply. Maciej patch-mips-2.6.18-20060920-pmax-lance-rx-fix-0 diff -up --recursive --new-file linux-mips-2.6.18-20060920.macro/drivers/net/declance.c linux-mips-2.6.18-20060920/drivers/net/declance.c --- linux-mips-2.6.18-20060920.macro/drivers/net/declance.c 2006-11-23 02:55:34.000000000 +0000 +++ linux-mips-2.6.18-20060920/drivers/net/declance.c 2006-11-30 02:26:34.000000000 +0000 @@ -628,7 +628,6 @@ static int lance_rx(struct net_device *d /* Return the packet to the pool */ *rds_ptr(rd, mblength, lp->type) = 0; *rds_ptr(rd, length, lp->type) = -RX_BUFF_SIZE | 0xf000; - *rds_ptr(rd, rmd1, lp->type) = LE_R1_OWN; *rds_ptr(rd, rmd1, lp->type) = ((lp->rx_buf_ptr_lnc[entry] >> 16) & 0xff) | LE_R1_OWN; lp->rx_new = (entry + 1) & RX_RING_MOD_MASK;