Re: [PATCH] 2.5.45-ac1 CardBus compile Fix

Osamu Tomita (tomita@cinet.co.jp)
Fri, 08 Nov 2002 01:28:42 +0900


Russell King wrote:
>
> On Fri, Nov 08, 2002 at 12:41:20AM +0900, Osamu Tomita wrote:
> > I couldn't compile cistpl.c, that call obsolete function.
> >
> > Here is trivial patch. This works fine for me.
> >
> > Regards,
> > Osamu Tomita
> > --- linux-2.5.45-ac1/drivers/pcmcia/cistpl.c.orig Thu Oct 31 09:42:24 2002
> > +++ linux-2.5.45-ac1/drivers/pcmcia/cistpl.c Thu Nov 7 01:03:55 2002
> > @@ -429,7 +429,7 @@
> > #ifdef CONFIG_CARDBUS
> > if (s->state & SOCKET_CARDBUS) {
> > u_int ptr;
> > - pcibios_read_config_dword(s->cap.cb_dev->subordinate->number, 0, 0x28, &ptr);
> > + pci_bus_read_config_dword(s->cap.cb_dev->bus, 0, 0x28, &ptr);
> > tuple->CISOffset = ptr & ~7;
> > SPACE(tuple->Flags) = (ptr & 7);
> > } else
>
> I think dev->bus the bus number for the bus that the Cardbus controller
> is connected to? If so, this change is wrong.
>
> bus:device.function = 0:0.0
> +--------+
> | host |
> | bridge >--------+------------------ dev->bus
> +--------+ |
> |
> +----v----+ dev
> | Cardbus |
> | Bridge |
> +---------+
> |
> | bus number = dev->subordinate->number
> |
> |
> +----v----+ bus = dev->subordinate->number
> | Cardbus | device = 0
> | card |
> +---------+
>
> The device we want to read the CIS offset from is the cardbus card.
> In the above case, your change means we'll try to read the CIS offset
> from the host bridge, which is obviously wrong.
Thanks for exposition.
Is this right?

--- linux-2.5.45-ac1/drivers/pcmcia/cistpl.c.orig Thu Oct 31 09:42:24 2002
+++ linux-2.5.45-ac1/drivers/pcmcia/cistpl.c Fri Nov 8 01:19:32 2002
@@ -429,7 +429,7 @@
#ifdef CONFIG_CARDBUS
if (s->state & SOCKET_CARDBUS) {
u_int ptr;
- pcibios_read_config_dword(s->cap.cb_dev->subordinate->number, 0, 0x28, &ptr);
+ pci_bus_read_config_dword(s->cap.cb_dev->subordinate, 0, 0x28, &ptr);
tuple->CISOffset = ptr & ~7;
SPACE(tuple->Flags) = (ptr & 7);
} else
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/