In ibmtr_cs.c:
>+static int ibmtr_init(struct net_device *dev)
>+{
>+ extern int ibmtr_probe1(struct net_device *, int);
>+
>+ return ibmtr_probe1(dev, dev->base_addr);
>+}
>+
> /*======================================================================
> ibmtr_attach() creates an "instance" of the driver, allocating
>@@ -194,7 +200,8 @@
> link->irq.Instance = info->dev = dev;
>
>- dev->init = &ibmtr_probe;
>+ dev->init = ibmtr_init;
>+
This changes dev->init from calling ibmtr_probe to ibmtr_probe1. The probe
routines are specifically split into two because of ibmtr_cs. It doesn't
need to do second probe routing because all the memory spaces get allocated
by the pcmcia driver. Trying to allocate the same IO mem area will fail
because its already been allocated by ibmtr_cs.
Mike
|