diff options
author | Ursula Braun <braunu@de.ibm.com> | 2007-06-20 07:01:30 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-06-20 19:12:42 -0400 |
commit | 651bbc6224a95eb5bf0ccf6ecd61fc244b38d1f5 (patch) | |
tree | 3fba78b80b3e80b4c41a7fc560bcc57a9c852139 /drivers/s390/net | |
parent | dc5bc0cabd1003b4fa358f0d54dfdc46585efb57 (diff) |
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 <braunu@de.ibm.com>
Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/s390/net')
-rw-r--r-- | drivers/s390/net/netiucv.c | 3 |
1 files changed, 2 insertions, 1 deletions
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) | |||
1315 | * and throw away packet. | 1315 | * and throw away packet. |
1316 | */ | 1316 | */ |
1317 | if (fsm_getstate(privptr->fsm) != DEV_STATE_RUNNING) { | 1317 | if (fsm_getstate(privptr->fsm) != DEV_STATE_RUNNING) { |
1318 | fsm_event(privptr->fsm, DEV_EVENT_START, dev); | 1318 | if (!in_atomic()) |
1319 | fsm_event(privptr->fsm, DEV_EVENT_START, dev); | ||
1319 | dev_kfree_skb(skb); | 1320 | dev_kfree_skb(skb); |
1320 | privptr->stats.tx_dropped++; | 1321 | privptr->stats.tx_dropped++; |
1321 | privptr->stats.tx_errors++; | 1322 | privptr->stats.tx_errors++; |