[PATCH] Warning fix for "comparison is always false"

David Hinds dhinds at sonic.net
Tue Mar 16 16:23:12 GMT 2004

On Tue, Mar 16, 2004 at 07:00:11PM -0500, Pavel Roskin wrote:
> is_active()/is_alive() is more complicated.  This probably was designed to
> work with such hacks as booting from PCMCIA flash or PCMCIA network cards.
> In this case the socket driver finds that somebody has already activated
> the card and leaves it alone.

Correct.  Specifically, booting from a PCMCIA IDE device (flash or HD
or CD-ROM).

> We probably could replace check_region() with
> request_region()/ release_region() to avoid the warning.  On the other
> hand, using PCMCIA devices without informing the socket driver is a pretty
> gross hack, and we should think whether we still want to allow it.  After
> all, 2.6 kernels support early userspace (Documentation/early-userspace).

The early userspace stuff may be part of a solution but I don't think
it is all there yet.  All ISA bus driver probes would need to be done
late compared to PCMCIA device enumeration, so that no PCMCIA device
is misdetected as an ISA bus device.  Or, something would have to
actively disable all PCMCIA devices early in the boot process, so that
the ISA probes would miss.

Or, it would work now if you built drivers that did ISA probes as
modules, and initialized PCMCIA before those drivers were loaded.

-- Dave

More information about the linux-pcmcia mailing list