[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20090608.024253.54091368.davem@davemloft.net>
Date: Mon, 08 Jun 2009 02:42:53 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: macro@...ux-mips.org
Cc: netdev@...r.kernel.org, linux-mips@...ux-mips.org
Subject: Re: [PATCH] declance: Restore tx descriptor ring locking
From: "Maciej W. Rozycki" <macro@...ux-mips.org>
Date: Mon, 8 Jun 2009 02:47:05 +0100 (WEST)
> A driver overhaul on 29 Feb 2000 (!) broke locking around fiddling with
> the tx descriptor ring in start_xmit(); a follow-on "fix" removed the
> broken remnants altogether. Here's a patch to restore proper locking in
> the function -- the complement in the interrupt handler has been correct
> all the time.
>
> This *may* have been the reason for the occasional confusion of the chip
> -- triggering a tx timeout followed by a chip reset sequence -- seen on
> R4k-based DECstations with the onboard Ethernet interface. Another theory
> is the confusion is due to an unindentified problem -- perhaps a silicon
> erratum -- associated with the variation of the MT ASIC used to interface
> the R4k CPU to the rest of the system on these computers; with its
> aggressive write-back buffering the design is particularly weakly ordered
> when it comes to MMIO (in the absence of ordering barriers uncached reads
> are allowed to bypass earlier uncached writes, even if to the same
> location), which may trigger all kinds of corner cases in peripheral
> hardware as well as software.
>
> Either way this piece of code is buggy.
>
> Signed-off-by: Maciej W. Rozycki <macro@...ux-mips.org>
Looks good to me, applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists