|
@@ -1208,8 +1208,8 @@ static int tile_net_setup_interrupts(struct net_device *dev)
|
|
|
|
|
|
irq = md->ingress_irq;
|
|
irq = md->ingress_irq;
|
|
if (irq < 0) {
|
|
if (irq < 0) {
|
|
- irq = create_irq();
|
|
|
|
- if (irq < 0) {
|
|
|
|
|
|
+ irq = irq_alloc_hwirq(-1);
|
|
|
|
+ if (!irq) {
|
|
netdev_err(dev,
|
|
netdev_err(dev,
|
|
"create_irq failed: mpipe[%d] %d\n",
|
|
"create_irq failed: mpipe[%d] %d\n",
|
|
instance, irq);
|
|
instance, irq);
|
|
@@ -1223,7 +1223,7 @@ static int tile_net_setup_interrupts(struct net_device *dev)
|
|
if (rc != 0) {
|
|
if (rc != 0) {
|
|
netdev_err(dev, "request_irq failed: mpipe[%d] %d\n",
|
|
netdev_err(dev, "request_irq failed: mpipe[%d] %d\n",
|
|
instance, rc);
|
|
instance, rc);
|
|
- destroy_irq(irq);
|
|
|
|
|
|
+ irq_free_hwirq(irq);
|
|
return rc;
|
|
return rc;
|
|
}
|
|
}
|
|
md->ingress_irq = irq;
|
|
md->ingress_irq = irq;
|