From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4A1A4A99.4040208@domain.hid> Date: Mon, 25 May 2009 09:36:57 +0200 From: Wolfgang Grandegger MIME-Version: 1.0 References: <4A008DC9.1000603@domain.hid> <1242812539.31033.12.camel@domain.hid> <4A13D9F6.30602@domain.hid> <4A13DD1C.5080208@domain.hid> <1242816059.31033.15.camel@domain.hid> In-Reply-To: <1242816059.31033.15.camel@domain.hid> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Xenomai-core] [Xenomai-help] IXXAT-PCI-CAN driver hijacks my pci board List-Id: Xenomai life and development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Philippe Gerum Cc: Sebastian Smolorz , xenomai@xenomai.org, Stefan Kisdaroczi Hi Philipe, Philippe Gerum wrote: > On Wed, 2009-05-20 at 12:36 +0200, Wolfgang Grandegger wrote: >> Wolfgang Grandegger wrote: >>> Hi Philippe, >>> >>> Philippe Gerum wrote: >>>> It looks like this patch is still pending an ack/nak. Wolfgang, any >>>> comment on this? TIA, >>> FIFO overrun, sorry. >>> >>>> On Tue, 2009-05-05 at 21:04 +0200, Stefan Kisdaroczi wrote: >>>>> Hi, >>>>> >>>>> my pci board has the same pci-interface-chip as the IXXAT-PCI board. >>>>> The vendor and device id's are identical, but the subsys id is different. >>>>> >>>>> The documentation for my board says that it is essential to check all ID values, >>>>> because vendor and device id are standard values for the pci-interface-chip. >>>>> >>>>> dmesg output, there is no IXXAT-PCI-CAN board installed: >>>>>> RT-Socket-CAN 0.90.2 - (C) 2006 RT-Socket-CAN Development Team >>>>>> RTCAN SJA1000 driver initialized >>>>>> PCI: setting IRQ 12 as level-triggered >>>>>> IXXAT-PCI-CAN 0000:00:11.0: found PCI INT A -> IRQ 12 >>>>>> IXXAT-PCI-CAN: Initializing device 10b5:9050:2503 >>> OK, it finding a variant of the PLX9050, but it will not use the device >>> because of the following lines after the above printout: >>> >>> if (sub_sys_id != IXXAT_PCI_SUB_SYS_ID) >>> return -ENODEV; >>> >>> But ... >>> >>>>> The following patch fixed it for me (my own driver loads again). >>> ... obviously it does not probe again. >>> >>>>> However, i could not check if it still detects the CAN board, >>>>> as i dont have one. >>> >>> >>> >>>>> Thanks >>>>> kisda >>>>> >>>>> --- xenomai-2.4.7.orig/ksrc/drivers/can/sja1000/rtcan_ixxat_pci.c >>>>> +++ xenomai-2.4.7/ksrc/drivers/can/sja1000/rtcan_ixxat_pci.c >>>>> @@ -73,7 +73,7 @@ >>>>> #define IXXAT_BASE_PORT_SIZE 0x0400 >>>>> >>>>> static struct pci_device_id ixxat_pci_tbl[] = { >>>>> - {IXXAT_PCI_VENDOR_ID, IXXAT_PCI_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, >>>>> + {IXXAT_PCI_VENDOR_ID, IXXAT_PCI_DEVICE_ID, IXXAT_PCI_VENDOR_ID, IXXAT_PCI_SUB_SYS_ID, 0, 0, 0}, >>>>> { } >>>>> }; >>>>> MODULE_DEVICE_TABLE (pci, ixxat_pci_tbl); >>> I don't have a IXXAT CAN card to check if the sub-vendor id is really >>> IXXAT_PCI_VENDOR_ID. Does >>> >>> {IXXAT_PCI_VENDOR_ID, IXXAT_PCI_DEVICE_ID, PCI_ANY_ID, IXXAT_PCI_SUB_SYS_ID, 0, 0, 0}, >>> >>> work as well? A work-around would be to disable the IXXAT-PCI driver in the kernel config. >> I just found a lspci output for an IXXAT card and Stefan's patch should >> work fine. Are you going to apply it or should I take care? >> > > It's in my queue already, so I can commit directly. Thanks, Two patches for the IXXAT-PCI and MSCAN will follow. Sorry for delay. Wolfgang.