Hi Manu,Hello Ralph,
Manu Abraham writes:
> [ 102.261264] mantis_pci_probe: Got a device
> [ 102.262852] mantis_pci_probe: We got an IRQ
> [ 102.264392] mantis_pci_probe: We finally enabled the device
> [ 102.266020] Mantis Rev 1, irq: 23, latency: 32
> [ 102.266118] memory: 0xefeff000, mmio: f9218000
> [ 102.269162] Trying to free free IRQ23
> [ 110.297341] mantis_pci_remove: Removing -->Mantis irq: 23, > latency: 32
> [ 110.297344] memory: 0xefeff000, mmio: 0xf9218000
> [ 110.301326] Trying to free free IRQ23
> [ 110.303445] Trying to free nonexistent resource <efeff000-efefffff>
I think you should call pci_enable_device() before request_irq, etc.
AFAIK, the pci_enable_device() can change resources like IRQ.
That's probably what causes these errors. Just print out the irq number before and after pci_enable_device() to check if that's the problem.