Message ID | 87mwgsxodl.fsf_-_@xmission.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Fri, 14 Mar 2014 18:05:26 -0700 ebiederm@xmission.com (Eric W. Biederman) wrote: > > Processing any incoming packets with a with a napi budget of 0 > is incorrect driver behavior. > > This matters as netpoll will shortly call drivers with a budget of 0 > to avoid receive packet processing happening in hard irq context. > > Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> > --- > drivers/net/ethernet/marvell/sky2.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c > index 2434611d1b4e..0ddfc43069ba 100644 > --- a/drivers/net/ethernet/marvell/sky2.c > +++ b/drivers/net/ethernet/marvell/sky2.c > @@ -2735,6 +2735,9 @@ static int sky2_status_intr(struct sky2_hw *hw, int to_do, u16 idx) > unsigned int total_bytes[2] = { 0 }; > unsigned int total_packets[2] = { 0 }; > > + if (to_do <= 0) > + return work_done; > + > rmb(); > do { > struct sky2_port *sky2; I am fine with this. Really should change to_do to an unsigned but that is another battle. -- 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/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c index 2434611d1b4e..0ddfc43069ba 100644 --- a/drivers/net/ethernet/marvell/sky2.c +++ b/drivers/net/ethernet/marvell/sky2.c @@ -2735,6 +2735,9 @@ static int sky2_status_intr(struct sky2_hw *hw, int to_do, u16 idx) unsigned int total_bytes[2] = { 0 }; unsigned int total_packets[2] = { 0 }; + if (to_do <= 0) + return work_done; + rmb(); do { struct sky2_port *sky2;
Processing any incoming packets with a with a napi budget of 0 is incorrect driver behavior. This matters as netpoll will shortly call drivers with a budget of 0 to avoid receive packet processing happening in hard irq context. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> --- drivers/net/ethernet/marvell/sky2.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)