Known problems with the 3.1.7 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.

  In some O2Micro bridge configurations, it is necessary to set
  PCIC_OPTS to "pci_csc=1 pci_int=1" to enable use of PCI interrupts
  for card status changes and for CardBus cards.  I am not completely
  sure how to tell where this is required, and it causes new problems
  on some systems, so I have not made it the default.

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 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.

o Recent 2.3.* kernels may make mistakes when autoconfiguring CardBus
  bridges.  Specifically, the kernel may memory map bridges at invalid
  addresses.

  Prognosis: the PCI driver layer is taking on a job that it can't
  quite handle yet.  There is no trivial workaround, other than 
  reverting to a 2.2.* kernel.

o The current serial driver seems to have a bug that results in a bad
  interaction between Red Hat 6.1's "kudzu" hardware discovery tool,
  and subsequent configuration of PCMCIA serial devices.

  Prognosis: I'll try to track down the bug; the workaround is to
  either disable kudzu, or adding a "-s" flag to its invocation in
  /etc/rc.d/init.d/kudzu.
