diff --git a/[refs] b/[refs] index ef172c57d2f9..3601333dde19 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1712fe59415faf23a36c38dbacf18efd4ffe94e0 +refs/heads/master: 68bd7422a2e07a4e5502137cd4bddb8c2774a912 diff --git a/trunk/drivers/net/can/mscan/mscan.c b/trunk/drivers/net/can/mscan/mscan.c index 76e413e7fdb1..20d1991b9094 100644 --- a/trunk/drivers/net/can/mscan/mscan.c +++ b/trunk/drivers/net/can/mscan/mscan.c @@ -379,8 +379,10 @@ static int mscan_rx_poll(struct napi_struct *napi, int quota) struct can_frame *frame; u8 canrflg; - while (npackets < quota && ((canrflg = in_8(®s->canrflg)) & - (MSCAN_RXF | MSCAN_ERR_IF))) { + while (npackets < quota) { + canrflg = in_8(®s->canrflg); + if (!(canrflg & (MSCAN_RXF | MSCAN_ERR_IF))) + break; skb = alloc_can_skb(dev, &frame); if (!skb) {