|
@@ -98,12 +98,20 @@ int legacy_probe ( void *hwdev,
|
98
|
98
|
netdev->dev = dev;
|
99
|
99
|
|
100
|
100
|
nic.node_addr = netdev->ll_addr;
|
|
101
|
+ nic.irqno = dev->desc.irq;
|
101
|
102
|
|
102
|
103
|
if ( ! probe ( &nic, hwdev ) ) {
|
103
|
104
|
rc = -ENODEV;
|
104
|
105
|
goto err_probe;
|
105
|
106
|
}
|
106
|
107
|
|
|
108
|
+ /* Overwrite the IRQ number. Some legacy devices set
|
|
109
|
+ * nic->irqno to 0 in the probe routine to indicate that they
|
|
110
|
+ * don't support interrupts; doing this allows the timer
|
|
111
|
+ * interrupt to be used instead.
|
|
112
|
+ */
|
|
113
|
+ dev->desc.irq = nic.irqno;
|
|
114
|
+
|
107
|
115
|
if ( ( rc = register_netdev ( netdev ) ) != 0 )
|
108
|
116
|
goto err_register;
|
109
|
117
|
|