--- x/drivers/block/aoe/aoecmd.c +++ a/drivers/block/aoe/aoecmd.c @@ -1396,6 +1396,7 @@ aoecmd_ata_id(struct aoedev *d) ah->lba3 = 0xa0; skb->dev = t->ifp->nd; + dev_hold(skb->dev); d->rttavg = RTTAVG_INIT; d->rttdev = RTTDEV_INIT; --- x/drivers/block/aoe/aoenet.c +++ a/drivers/block/aoe/aoenet.c @@ -64,6 +64,7 @@ tx(int id) __must_hold(&txlock) pr_warn("aoe: packet could not be sent on %s. %s\n", ifp ? ifp->name : "netif", "consider increasing tx_queue_len"); + dev_put(ifp); spin_lock_irq(&txlock); } return 0;