struct sk_buff *skb = req->context;
        struct net_device *dev = skb->dev;
        struct usbpn_dev *pnd = netdev_priv(dev);
+       int status = req->status;
 
-       switch (req->status) {
+       switch (status) {
        case 0:
                dev->stats.tx_bytes += skb->len;
                break;
                dev->stats.tx_aborted_errors++;
        default:
                dev->stats.tx_errors++;
-               dev_dbg(&dev->dev, "TX error (%d)\n", req->status);
+               dev_dbg(&dev->dev, "TX error (%d)\n", status);
        }
        dev->stats.tx_packets++;
 
        struct page *page = virt_to_page(req->transfer_buffer);
        struct sk_buff *skb;
        unsigned long flags;
+       int status = req->status;
 
-       switch (req->status) {
+       switch (status) {
        case 0:
                spin_lock_irqsave(&pnd->rx_lock, flags);
                skb = pnd->rx_skb;
 
        case 0:
                break;
        default:
-               err("%s: urb status: %d", __func__, urb->status);
+               err("%s: urb status: %d", __func__, status);
                return;
        }
 
 static void ipheth_sndbulk_callback(struct urb *urb)
 {
        struct ipheth_device *dev;
+       int status = urb->status;
 
        dev = urb->context;
        if (dev == NULL)
                return;
 
-       if (urb->status != 0 &&
-           urb->status != -ENOENT &&
-           urb->status != -ECONNRESET &&
-           urb->status != -ESHUTDOWN)
-               err("%s: urb status: %d", __func__, urb->status);
+       if (status != 0 &&
+           status != -ENOENT &&
+           status != -ECONNRESET &&
+           status != -ESHUTDOWN)
+               err("%s: urb status: %d", __func__, status);
 
        dev_kfree_skb_irq(dev->tx_skb);
        netif_wake_queue(dev->net);