Message ID | 1272061439.5520.14.camel@achroite.uk.solarflarecom.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
All of these 9 patches should also be applicable to 2.6.33.y, except that one hunk of "sfc: Consistently report short MCDI responses as EIO" is not applicable and should be dropped. Some of the bug fixes are applicable to 2.6.32.y and maybe to 2.6.27.y, but the patches will need some adjustment. I intend to send backported patches to stable@kernel.org separately. Ben.
From: Ben Hutchings <bhutchings@solarflare.com> Date: Fri, 23 Apr 2010 23:33:28 +0100 > All of these 9 patches should also be applicable to 2.6.33.y, except > that one hunk of "sfc: Consistently report short MCDI responses as EIO" > is not applicable and should be dropped. > > Some of the bug fixes are applicable to 2.6.32.y and maybe to 2.6.27.y, > but the patches will need some adjustment. I intend to send backported > patches to stable@kernel.org separately. There is zero way I'm applying 9 patches this late in the RC series. If you want this stuff to go into net-2.6 and get backported to -stable, pick a very small (2 or 3) set of the most important fixes. Consistent -EIO error code returns and junk like that are not appropriate this late in the RC, and definitely not -stable material. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 2010-04-23 at 15:36 -0700, David Miller wrote: > From: Ben Hutchings <bhutchings@solarflare.com> > Date: Fri, 23 Apr 2010 23:33:28 +0100 > > > All of these 9 patches should also be applicable to 2.6.33.y, except > > that one hunk of "sfc: Consistently report short MCDI responses as EIO" > > is not applicable and should be dropped. > > > > Some of the bug fixes are applicable to 2.6.32.y and maybe to 2.6.27.y, > > but the patches will need some adjustment. I intend to send backported > > patches to stable@kernel.org separately. > > There is zero way I'm applying 9 patches this late in the RC > series. > > If you want this stuff to go into net-2.6 and get backported > to -stable, pick a very small (2 or 3) set of the most important > fixes. This makes no sense. You want to put a quota on bug fixes? I could arbitrarily pick some but I'm still going to want to get the other fixes into distributions. > Consistent -EIO error code returns and junk like that are > not appropriate this late in the RC, and definitely not -stable > material. The important part of that change is that functions were returning 0 in a failure case. I should have made that the first sentence in the commit message. I didn't see the point in making a separate commit to fix the wrong error codes, but I can split this up if you prefer. Ben.
From: Ben Hutchings <bhutchings@solarflare.com> Date: Fri, 23 Apr 2010 23:54:30 +0100 > This makes no sense. You want to put a quota on bug fixes? I could > arbitrarily pick some but I'm still going to want to get the other fixes > into distributions. It's not a quota. It's a request that only the most catastropic bugs get fixed this late in the RC. You don't have 9 catastropic bugs to fix in your driver. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/sfc/siena.c b/drivers/net/sfc/siena.c index 38dcc42..e0c46f5 100644 --- a/drivers/net/sfc/siena.c +++ b/drivers/net/sfc/siena.c @@ -456,8 +456,17 @@ static int siena_try_update_nic_stats(struct efx_nic *efx) static void siena_update_nic_stats(struct efx_nic *efx) { - while (siena_try_update_nic_stats(efx) == -EAGAIN) - cpu_relax(); + int retry; + + /* If we're unlucky enough to read statistics wduring the DMA, wait + * up to 10ms for it to finish (typically takes <500us) */ + for (retry = 0; retry < 100; ++retry) { + if (siena_try_update_nic_stats(efx) == 0) + return; + udelay(100); + } + + /* Use the old values instead */ } static void siena_start_nic_stats(struct efx_nic *efx)