diff options
Diffstat (limited to 'drivers/net/wan/lapbether.c')
-rw-r--r-- | drivers/net/wan/lapbether.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/drivers/net/wan/lapbether.c b/drivers/net/wan/lapbether.c index 2dd78d20eb05..aff4f6bdf3d5 100644 --- a/drivers/net/wan/lapbether.c +++ b/drivers/net/wan/lapbether.c | |||
@@ -149,46 +149,40 @@ static int lapbeth_data_indication(struct net_device *dev, struct sk_buff *skb) | |||
149 | */ | 149 | */ |
150 | static int lapbeth_xmit(struct sk_buff *skb, struct net_device *dev) | 150 | static int lapbeth_xmit(struct sk_buff *skb, struct net_device *dev) |
151 | { | 151 | { |
152 | int err = -ENODEV; | 152 | int err; |
153 | 153 | ||
154 | /* | 154 | /* |
155 | * Just to be *really* sure not to send anything if the interface | 155 | * Just to be *really* sure not to send anything if the interface |
156 | * is down, the ethernet device may have gone. | 156 | * is down, the ethernet device may have gone. |
157 | */ | 157 | */ |
158 | if (!netif_running(dev)) { | 158 | if (!netif_running(dev)) |
159 | goto drop; | 159 | goto drop; |
160 | } | ||
161 | 160 | ||
162 | switch (skb->data[0]) { | 161 | switch (skb->data[0]) { |
163 | case 0x00: | 162 | case 0x00: |
164 | err = 0; | ||
165 | break; | 163 | break; |
166 | case 0x01: | 164 | case 0x01: |
167 | if ((err = lapb_connect_request(dev)) != LAPB_OK) | 165 | if ((err = lapb_connect_request(dev)) != LAPB_OK) |
168 | printk(KERN_ERR "lapbeth: lapb_connect_request " | 166 | printk(KERN_ERR "lapbeth: lapb_connect_request " |
169 | "error: %d\n", err); | 167 | "error: %d\n", err); |
170 | goto drop_ok; | 168 | goto drop; |
171 | case 0x02: | 169 | case 0x02: |
172 | if ((err = lapb_disconnect_request(dev)) != LAPB_OK) | 170 | if ((err = lapb_disconnect_request(dev)) != LAPB_OK) |
173 | printk(KERN_ERR "lapbeth: lapb_disconnect_request " | 171 | printk(KERN_ERR "lapbeth: lapb_disconnect_request " |
174 | "err: %d\n", err); | 172 | "err: %d\n", err); |
175 | /* Fall thru */ | 173 | /* Fall thru */ |
176 | default: | 174 | default: |
177 | goto drop_ok; | 175 | goto drop; |
178 | } | 176 | } |
179 | 177 | ||
180 | skb_pull(skb, 1); | 178 | skb_pull(skb, 1); |
181 | 179 | ||
182 | if ((err = lapb_data_request(dev, skb)) != LAPB_OK) { | 180 | if ((err = lapb_data_request(dev, skb)) != LAPB_OK) { |
183 | printk(KERN_ERR "lapbeth: lapb_data_request error - %d\n", err); | 181 | printk(KERN_ERR "lapbeth: lapb_data_request error - %d\n", err); |
184 | err = -ENOMEM; | ||
185 | goto drop; | 182 | goto drop; |
186 | } | 183 | } |
187 | err = 0; | ||
188 | out: | 184 | out: |
189 | return err; | 185 | return NETDEV_TX_OK; |
190 | drop_ok: | ||
191 | err = 0; | ||
192 | drop: | 186 | drop: |
193 | kfree_skb(skb); | 187 | kfree_skb(skb); |
194 | goto out; | 188 | goto out; |