Patch for oops in ctc
From: Pete Zaitcev <zaitcev@redhat.com>
Date: 2003-08-24 21:58:16
Martin & others: the following bug is still with us. What's the deal? The matter is clear, calling dst_link_failure from an interrupt is illegal (and pointless). I have a separate patch which adds carrier control to ctc according to DaveM's suggestions, but let's at least fix the bug first. -- Pete diff -ur -X dontdiff linux-2.6.0-test4/drivers/s390/net/ctcmain.c linux-2.6.0-test4-s390/drivers/s390/net/ctcmain.c
--- linux-2.6.0-test4/drivers/s390/net/ctcmain.c 2003-08-24 14:24:50.000000000 -0700
+++ linux-2.6.0-test4-s390/drivers/s390/net/ctcmain.c 2003-08-24 14:53:25.000000000 -0700@@ -2441,14 +2441,12 @@ /** * If channels are not running, try to restart them - * notify anybody about a link failure and throw - * away packet. + * and throw away packet. */ if (fsm_getstate(privptr->fsm) != DEV_STATE_RUNNING) { fsm_event(privptr->fsm, DEV_EVENT_START, dev); if (privptr->protocol == CTC_PROTO_LINUX_TTY) return -EBUSY; - dst_link_failure(skb); dev_kfree_skb(skb); privptr->stats.tx_dropped++; privptr->stats.tx_errors++;
diff -ur -X dontdiff linux-2.6.0-test4/drivers/s390/net/netiucv.c linux-2.6.0-test4-s390/drivers/s390/net/netiucv.c
--- linux-2.6.0-test4/drivers/s390/net/netiucv.c 2003-08-24 14:24:50.000000000 -0700
+++ linux-2.6.0-test4-s390/drivers/s390/net/netiucv.c 2003-08-24 14:51:10.000000000 -0700@@ -1195,12 +1195,10 @@ /** * If connection is not running, try to restart it - * notify anybody about a link failure and throw - * away packet. + * and throw away packet. */ if (fsm_getstate(privptr->fsm) != DEV_STATE_RUNNING) { fsm_event(privptr->fsm, DEV_EVENT_START, dev); - dst_link_failure(skb); dev_kfree_skb(skb); privptr->stats.tx_dropped++; privptr->stats.tx_errors++;