Skip to content

Commit

Permalink
rose: Transmit packets in rose_xmit not rose_rebuild_header
Browse files Browse the repository at this point in the history
Patterned after the similar code in net/rom this turns out
to be a trivial obviously correct transmformation.

Cc: Ralf Baechle <[email protected]>
Cc: [email protected]
Signed-off-by: "Eric W. Biederman" <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
ebiederm authored and davem330 committed Mar 2, 2015
1 parent b753af3 commit 03ec2ac
Showing 1 changed file with 11 additions and 27 deletions.
38 changes: 11 additions & 27 deletions net/rose/rose_dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,38 +59,14 @@ static int rose_header(struct sk_buff *skb, struct net_device *dev,
static int rose_rebuild_header(struct sk_buff *skb)
{
#ifdef CONFIG_INET
struct net_device *dev = skb->dev;
struct net_device_stats *stats = &dev->stats;
unsigned char *bp = (unsigned char *)skb->data;
struct sk_buff *skbn;
unsigned int len;

if (arp_find(bp + 7, skb)) {
return 1;
}

if ((skbn = skb_clone(skb, GFP_ATOMIC)) == NULL) {
kfree_skb(skb);
return 1;
}

if (skb->sk != NULL)
skb_set_owner_w(skbn, skb->sk);

kfree_skb(skb);

len = skbn->len;

if (!rose_route_frame(skbn, NULL)) {
kfree_skb(skbn);
stats->tx_errors++;
return 1;
}

stats->tx_packets++;
stats->tx_bytes += len;
#endif
return 1;
return 0;
}

static int rose_set_mac_address(struct net_device *dev, void *addr)
Expand Down Expand Up @@ -137,13 +113,21 @@ static int rose_close(struct net_device *dev)
static netdev_tx_t rose_xmit(struct sk_buff *skb, struct net_device *dev)
{
struct net_device_stats *stats = &dev->stats;
unsigned int len = skb->len;

if (!netif_running(dev)) {
printk(KERN_ERR "ROSE: rose_xmit - called when iface is down\n");
return NETDEV_TX_BUSY;
}
dev_kfree_skb(skb);
stats->tx_errors++;

if (!rose_route_frame(skb, NULL)) {
dev_kfree_skb(skb);
stats->tx_errors++;
return NETDEV_TX_OK;
}

stats->tx_packets++;
stats->tx_bytes += len;
return NETDEV_TX_OK;
}

Expand Down

0 comments on commit 03ec2ac

Please sign in to comment.