|
@@ -1315,7 +1315,8 @@ static int netiucv_tx(struct sk_buff *skb, struct net_device *dev)
|
|
|
* and throw away packet.
|
|
|
*/
|
|
|
if (fsm_getstate(privptr->fsm) != DEV_STATE_RUNNING) {
|
|
|
- fsm_event(privptr->fsm, DEV_EVENT_START, dev);
|
|
|
+ if (!in_atomic())
|
|
|
+ fsm_event(privptr->fsm, DEV_EVENT_START, dev);
|
|
|
dev_kfree_skb(skb);
|
|
|
privptr->stats.tx_dropped++;
|
|
|
privptr->stats.tx_errors++;
|