1. 17 Mar, 2013 34 commits
  2. 16 Mar, 2013 5 commits
  3. 15 Mar, 2013 1 commit
    • Ian Abbott's avatar
      staging: comedi: ni_labpc: fix common detach · a1459289
      Ian Abbott authored
      `labpc_common_detach()` calls `comedi_pci_disable()` unconditionally.
      That's okay for PCI devices and harmless for ISA devices (as the
      `hw_dev` member will be NULL so `comedi_to_pci_dev()` will return NULL
      and `comedi_pci_disable()` checks for that), but it is disastrous for
      PCMCIA devices.  Those are managed by the "ni_labpc_cs" module but it
      calls this `labpc_common_detach()` and the `hw_dev` member will be
      pointing to the `struct device` embedded in a `struct pcmcia_device` in
      that case.  That's enough to confuse `comedi_pci_disable()` into
      thinking it's a valid PCI device to be disabled.
      
      Use the private board information (`thisboard`) to make sure it is a PCI
      device before calling `comedi_pci_disable()`.
      Signed-off-by: default avatarIan Abbott <abbotti@mev.co.uk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a1459289