pxa168: close race between napi and irq activation
In pxa168_eth_open() the irqs are enabled before napi. This opens a tiny time window in which the irq handler is processed, disables irqs but then is not able to schedule the not yet activated napi, leaving irqs disabled forever (since irqs are reenabled in napi poll function). Fix this race by activating napi before irqs are activated. Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
769e0de647
commit
8961b19402
@ -1153,8 +1153,8 @@ static int pxa168_eth_open(struct net_device *dev)
|
||||
pep->rx_used_desc_q = 0;
|
||||
pep->rx_curr_desc_q = 0;
|
||||
netif_carrier_off(dev);
|
||||
eth_port_start(dev);
|
||||
napi_enable(&pep->napi);
|
||||
eth_port_start(dev);
|
||||
return 0;
|
||||
out_free_rx_skb:
|
||||
rxq_deinit(dev);
|
||||
|
Loading…
Reference in New Issue
Block a user