Known problems with the 3.1.2 PCMCIA release
=============================================

o Use of CardBus cards with 2.0.* kernels is discouraged.  It may work
  on some systems, but not on others, due to PCI BIOS limitations.
  Also, it is harder to diagnose problems, because /proc/bus/pccard is
  not available with these kernels.

o The token ring driver tweaks a problem in the memory management
  code.  To work around the problem, remove all high memory windows
  from /etc/pcmcia/config.opts.  The driver is also completely broken
  for late 2.1 and early 2.2 kernels.  A fix is in 2.2.7.

o Megahertz EM3288 cards drop interrupts if the modem and ethernet are
  used simultaneously.  No known fix.
  
  Prognosis: Unlikely to be fixed, since these cards are old and we
  are unlikely to ever get more complete tech info.

o All of the SCSI drivers, and most of the CardBus drivers, do not
  implement suspend/resume handling.
  
  Prognosis: CardBus Network cards will probably be fixed eventually,
  but it has not been a high priority.  SCSI drivers are less likely
  to be fixed since we're more dependent on kernel code.

o The apa1480_cb driver only works for 2.1.90-2.1.124, or 2.1.132 and
  later kernels.  In 2.2.* and 2.3.*, it still seems to be broken for
  some device types, due to instabilities in the kernel aic7xxx code.
  
  Prognosis: If you have a problem with an older kernel, try upgrading
  before reporting a bug.

o Automatic determination of PCI interrupt routing for CardBus bridges
  is unreliable, so by default, we don't use PCI interrupts at all.
  
  Prognosis: this is a difficult issue due to the lack of proper plug
  and play support in the Linux kernel.  Without that, safe resource
  allocation for hot swappable devices will always be a problem.
  
o Interrupt routing on O2Micro CardBus bridges seems to have problems.
  Toshiba ToPIC97 bridges also seem to have problems, particularly
  with Cardbus cards.

  Prognosis: for the ToPIC problem, Toshiba does not seem willing
  and/or able to provide adequate help, so I've mostly given up on
  it.  For both the O2Micro and ToPIC problems, fixes would require
  someone with device driver experience and the relevant hardware to
  work on it: data sheets are available, and I can make suggestions of
  things to try, but I can't debug the problems by email.

  With ToPIC chipsets, some systems seem to work better if the bridge
  mode is changed to either "PCIC" or "CardBus", rather than "Auto",
  in the BIOS setup menu.

o Newer Ositech Jack of Diamonds cards don't work for some people.

  Prognosis: I'm not sure what's going on here.  I have a newer JoD
  card now, and it works fine on my systems.

o Some Xircom CE3 cards appear to not work, or work at 10baseT but
  not 100baseT, or vice-versa.

  Prognosis: The Xircom driver is currently unmaintained.  There is
  something wrong with the transceiver setup code, but I can't fix it.

o The 2.2.*/2.3.* serial driver has a bug that interferes with
  interrupt sharing for multifunction cards.  The effect is that
  opening a serial port on a multifunction card fails, giving an IO
  error.  It was fixed in 2.2.11 and 2.3.9.

  The bug can be fixed by editing linux/drivers/char/serial.c and
  changing each use of IRQ_T(info) to IRQ_T(state).

o The kernel aha152x driver, used for Adaptec 16-bit SCSI adapters,
  has a PCMCIA compatibility problem in 2.2.* that was fixed in 2.2.9.
  The effect is that interrupts are ignored, unless the card happens
  to be configured for irq 9..12.

  Either upgrade to a 2.2.9 or later kernel, or if you have an
  appropriate interrupt availale, add to /etc/pcmcia/config.opts:

    module "aha152x_cs" opts "irq_list=9,10,11,12"

o The kernel IDE driver has a bug that causes shutdown of some PCMCIA
  IDE cards to cause a kernel trap.  It was introduced in 2.2.9/2.3.1
  and fixed in 2.2.10/2.3.4.

o The 2.3.6 kernel update broke the PCMCIA parport_cs driver.

  Prognosis: we're working on a better way of interfacing the
  parport_cs driver with the kernel parallel port code, for a future
  kernel release.
