diff options
| author | Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de> | 2002-10-06 05:44:10 -0500 |
|---|---|---|
| committer | Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de> | 2002-10-06 05:44:10 -0500 |
| commit | 0d4990181f70cf58006b9247daf19c2da2a9abc3 (patch) | |
| tree | bc09923d329e04279309c2222aac79b8a1a40eb8 | |
| parent | 61fa33282c906f511e10f881322202f392cb2b4a (diff) | |
ISDN: Replace rx_netdev, st_netdev by a single field
For some unknown reason, isdn_net kept two pointers back from the channel
to the associated isdn_net_dev, one is enough, though.
| -rw-r--r-- | drivers/isdn/i4l/isdn_common.c | 27 | ||||
| -rw-r--r-- | drivers/isdn/i4l/isdn_common.h | 6 | ||||
| -rw-r--r-- | drivers/isdn/i4l/isdn_net.c | 16 |
3 files changed, 14 insertions, 35 deletions
diff --git a/drivers/isdn/i4l/isdn_common.c b/drivers/isdn/i4l/isdn_common.c index 7fec01fe0f64..5a2b4b527a29 100644 --- a/drivers/isdn/i4l/isdn_common.c +++ b/drivers/isdn/i4l/isdn_common.c @@ -46,8 +46,7 @@ struct isdn_slot { unsigned long obytes; /* Statistics outgoing bytes */ struct isdn_v110 iv110; /* For V.110 */ int m_idx; /* Index for mdm.... */ - isdn_net_dev *rx_netdev; /* rx netdev-pointers */ - isdn_net_dev *st_netdev; /* stat netdev-pointers */ + isdn_net_dev *idev; /* pointer to isdn_net_dev */ }; static struct isdn_slot slot[ISDN_MAX_CHANNELS]; @@ -2067,35 +2066,19 @@ isdn_slot_num(int sl) } void -isdn_slot_set_rx_netdev(int sl, isdn_net_dev *nd) +isdn_slot_set_idev(int sl, isdn_net_dev *idev) { BUG_ON(sl < 0); - slot[sl].rx_netdev = nd; + slot[sl].idev = idev; } isdn_net_dev * -isdn_slot_rx_netdev(int sl) +isdn_slot_idev(int sl) { BUG_ON(sl < 0); - return slot[sl].rx_netdev; -} - -void -isdn_slot_set_st_netdev(int sl, isdn_net_dev *nd) -{ - BUG_ON(sl < 0); - - slot[sl].st_netdev = nd; -} - -isdn_net_dev * -isdn_slot_st_netdev(int sl) -{ - BUG_ON(sl < 0); - - return slot[sl].st_netdev; + return slot[sl].idev; } int diff --git a/drivers/isdn/i4l/isdn_common.h b/drivers/isdn/i4l/isdn_common.h index f151fcc02685..d0ea6f37088c 100644 --- a/drivers/isdn/i4l/isdn_common.h +++ b/drivers/isdn/i4l/isdn_common.h @@ -100,8 +100,6 @@ extern void isdn_slot_set_usage(int slot, int usage); extern char *isdn_slot_num(int slot); extern int isdn_slot_m_idx(int slot); extern void isdn_slot_set_m_idx(int slot, int midx); -extern void isdn_slot_set_rx_netdev(int sl, isdn_net_dev *nd); -extern void isdn_slot_set_st_netdev(int sl, isdn_net_dev *nd); -extern isdn_net_dev *isdn_slot_rx_netdev(int sl); -extern isdn_net_dev *isdn_slot_st_netdev(int sl); +extern void isdn_slot_set_idev(int sl, isdn_net_dev *); +extern isdn_net_dev *isdn_slot_idev(int sl); extern int isdn_hard_header_len(void); diff --git a/drivers/isdn/i4l/isdn_net.c b/drivers/isdn/i4l/isdn_net.c index 88745cacf437..20fdd1408dff 100644 --- a/drivers/isdn/i4l/isdn_net.c +++ b/drivers/isdn/i4l/isdn_net.c @@ -216,8 +216,7 @@ isdn_net_unbind_channel(isdn_net_dev *idev) idev->dialstate = ST_NULL; - isdn_slot_set_rx_netdev(idev->isdn_slot, NULL); - isdn_slot_set_st_netdev(idev->isdn_slot, NULL); + isdn_slot_set_idev(idev->isdn_slot, NULL); isdn_slot_free(idev->isdn_slot, ISDN_USAGE_NET); idev->isdn_slot = -1; @@ -239,8 +238,7 @@ isdn_net_bind_channel(isdn_net_dev *idev, int idx) cli(); idev->isdn_slot = idx; - isdn_slot_set_rx_netdev(idev->isdn_slot, idev); - isdn_slot_set_st_netdev(idev->isdn_slot, idev); + isdn_slot_set_idev(idev->isdn_slot, idev); if (mlp->ops->bind) retval = mlp->ops->bind(idev); @@ -296,7 +294,7 @@ static void isdn_net_connected(isdn_net_dev *idev) int isdn_net_stat_callback(int idx, isdn_ctrl *c) { - isdn_net_dev *idev = isdn_slot_st_netdev(idx); + isdn_net_dev *idev = isdn_slot_idev(idx); if (!idev) { HERE; @@ -547,7 +545,6 @@ isdn_net_event_in_wait_bconn(isdn_net_dev *idev, int pr, void *arg) break; case ISDN_STAT_BCONN: del_timer(&idev->dial_timer); - isdn_slot_set_rx_netdev(idev->isdn_slot, idev); isdn_net_connected(idev); return 1; case ISDN_STAT_DHUP: @@ -939,11 +936,12 @@ isdn_net_receive(isdn_net_dev *idev, struct sk_buff *skb) int isdn_net_rcv_skb(int idx, struct sk_buff *skb) { - isdn_net_dev *idev = isdn_slot_rx_netdev(idx); + isdn_net_dev *idev = isdn_slot_idev(idx); - if (!idev) + if (!idev) { + HERE; return 0; - + } if (!isdn_net_online(idev)) return 0; |
