[ Upstream commit 5acd0cfbfbb5a688da1bfb1a2152b0c855115a35 ]
There are two "netif_running" checks in this driver. One is in
"lapbeth_xmit" and the other is in "lapbeth_rcv". They serve to make
sure that the LAPB APIs called in these functions are called before
"lapb_unregister" is called by the "ndo_stop" function.
However, these "netif_running" checks are unreliable, because it's
possible that immediately after "netif_running" returns true, "ndo_stop"
is called (which causes "lapb_unregister" to be called).
This patch adds locking to make sure "lapbeth_xmit" and "lapbeth_rcv" can
reliably check and ensure the netif is running while doing their work.
Fixes:
|
||
|---|---|---|
| .. | ||
| lmc | ||
| .gitignore | ||
| Kconfig | ||
| Makefile | ||
| c101.c | ||
| cosa.c | ||
| cosa.h | ||
| dlci.c | ||
| farsync.c | ||
| farsync.h | ||
| fsl_ucc_hdlc.c | ||
| fsl_ucc_hdlc.h | ||
| hd64570.c | ||
| hd64570.h | ||
| hd64572.c | ||
| hd64572.h | ||
| hdlc.c | ||
| hdlc_cisco.c | ||
| hdlc_fr.c | ||
| hdlc_ppp.c | ||
| hdlc_raw.c | ||
| hdlc_raw_eth.c | ||
| hdlc_x25.c | ||
| hostess_sv11.c | ||
| ixp4xx_hss.c | ||
| lapbether.c | ||
| n2.c | ||
| pc300too.c | ||
| pci200syn.c | ||
| sbni.c | ||
| sbni.h | ||
| sdla.c | ||
| sealevel.c | ||
| slic_ds26522.c | ||
| slic_ds26522.h | ||
| wanxl.c | ||
| wanxl.h | ||
| wanxlfw.S | ||
| wanxlfw.inc_shipped | ||
| x25_asy.c | ||
| x25_asy.h | ||
| z85230.c | ||
| z85230.h | ||