aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wan/dlci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wan/dlci.c')
-rw-r--r--drivers/net/wan/dlci.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/wan/dlci.c b/drivers/net/wan/dlci.c
index 8526b6d1ee4..69d269d32b5 100644
--- a/drivers/net/wan/dlci.c
+++ b/drivers/net/wan/dlci.c
@@ -186,12 +186,11 @@ static void dlci_receive(struct sk_buff *skb, struct net_device *dev)
186 dev_kfree_skb(skb); 186 dev_kfree_skb(skb);
187} 187}
188 188
189static int dlci_transmit(struct sk_buff *skb, struct net_device *dev) 189static netdev_tx_t dlci_transmit(struct sk_buff *skb,
190 struct net_device *dev)
190{ 191{
191 struct dlci_local *dlp; 192 struct dlci_local *dlp;
192 int ret; 193 netdev_tx_t ret;
193
194 ret = 0;
195 194
196 if (!skb || !dev) 195 if (!skb || !dev)
197 return NETDEV_TX_OK; 196 return NETDEV_TX_OK;
@@ -200,6 +199,8 @@ static int dlci_transmit(struct sk_buff *skb, struct net_device *dev)
200 199
201 netif_stop_queue(dev); 200 netif_stop_queue(dev);
202 201
202 /* This is hackish, overloads driver specific return values
203 on top of normal transmit return! */
203 ret = dlp->slave->netdev_ops->ndo_start_xmit(skb, dlp->slave); 204 ret = dlp->slave->netdev_ops->ndo_start_xmit(skb, dlp->slave);
204 switch (ret) 205 switch (ret)
205 { 206 {
@@ -207,11 +208,11 @@ static int dlci_transmit(struct sk_buff *skb, struct net_device *dev)
207 dev->stats.tx_packets++; 208 dev->stats.tx_packets++;
208 ret = NETDEV_TX_OK; 209 ret = NETDEV_TX_OK;
209 break; 210 break;
210 case DLCI_RET_ERR: 211 case DLCI_RET_ERR:
211 dev->stats.tx_errors++; 212 dev->stats.tx_errors++;
212 ret = NETDEV_TX_OK; 213 ret = NETDEV_TX_OK;
213 break; 214 break;
214 case DLCI_RET_DROP: 215 case DLCI_RET_DROP:
215 dev->stats.tx_dropped++; 216 dev->stats.tx_dropped++;
216 ret = NETDEV_TX_BUSY; 217 ret = NETDEV_TX_BUSY;
217 break; 218 break;