From 651bbc6224a95eb5bf0ccf6ecd61fc244b38d1f5 Mon Sep 17 00:00:00 2001 From: Ursula Braun Date: Wed, 20 Jun 2007 13:01:30 +0200 Subject: s390: don't call iucv_path_connect from tasklet context net/iucv/iucv.c creates the requirement for iucv_path_connect not to be called from tasklet context anymore. An extra checking is added in case of a failing netiucv_tx to fulfil this requirement for netiucv. Signed-off-by: Ursula Braun Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik --- drivers/s390/net/netiucv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers/s390/net') diff --git a/drivers/s390/net/netiucv.c b/drivers/s390/net/netiucv.c index c358764f326..648ee132cda 100644 --- a/drivers/s390/net/netiucv.c +++ b/drivers/s390/net/netiucv.c @@ -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++; -- cgit v1.2.3-70-g09d2