All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-help] IXXAT-PCI-CAN driver hijacks my pci board
@ 2009-05-05 19:04 Stefan Kisdaroczi
  2009-05-20  9:42 ` [Xenomai-core] " Philippe Gerum
  0 siblings, 1 reply; 11+ messages in thread
From: Stefan Kisdaroczi @ 2009-05-05 19:04 UTC (permalink / raw)
  To: xenomai

[-- Attachment #1: Type: text/plain, Size: 1276 bytes --]

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

The following patch fixed it for me (my own driver loads 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);



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Xenomai-core] [Xenomai-help] IXXAT-PCI-CAN driver hijacks my pci board
  2009-05-05 19:04 [Xenomai-help] IXXAT-PCI-CAN driver hijacks my pci board Stefan Kisdaroczi
@ 2009-05-20  9:42 ` Philippe Gerum
  2009-05-20 10:22   ` Wolfgang Grandegger
  0 siblings, 1 reply; 11+ messages in thread
From: Philippe Gerum @ 2009-05-20  9:42 UTC (permalink / raw)
  To: wg; +Cc: xenomai, Stefan Kisdaroczi


It looks like this patch is still pending an ack/nak. Wolfgang, any
comment on this? TIA,

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
> 
> The following patch fixed it for me (my own driver loads 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);
> 
> 
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help
-- 
Philippe.




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Xenomai-core] [Xenomai-help] IXXAT-PCI-CAN driver hijacks my pci board
  2009-05-20  9:42 ` [Xenomai-core] " Philippe Gerum
@ 2009-05-20 10:22   ` Wolfgang Grandegger
  2009-05-20 10:36     ` Wolfgang Grandegger
  2009-05-20 11:25     ` Stefan Kisdaroczi
  0 siblings, 2 replies; 11+ messages in thread
From: Wolfgang Grandegger @ 2009-05-20 10:22 UTC (permalink / raw)
  To: Philippe Gerum; +Cc: xenomai, Stefan Kisdaroczi

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.

Wolfgang.





^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Xenomai-core] [Xenomai-help] IXXAT-PCI-CAN driver hijacks my pci board
  2009-05-20 10:22   ` Wolfgang Grandegger
@ 2009-05-20 10:36     ` Wolfgang Grandegger
  2009-05-20 10:40       ` Philippe Gerum
  2009-05-20 11:25     ` Stefan Kisdaroczi
  1 sibling, 1 reply; 11+ messages in thread
From: Wolfgang Grandegger @ 2009-05-20 10:36 UTC (permalink / raw)
  To: Philippe Gerum; +Cc: xenomai, Stefan Kisdaroczi

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?

Thanks,

Wolfgang.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Xenomai-core] [Xenomai-help] IXXAT-PCI-CAN driver hijacks my pci board
  2009-05-20 10:36     ` Wolfgang Grandegger
@ 2009-05-20 10:40       ` Philippe Gerum
  2009-05-25  7:36         ` Wolfgang Grandegger
  0 siblings, 1 reply; 11+ messages in thread
From: Philippe Gerum @ 2009-05-20 10:40 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: xenomai, Stefan Kisdaroczi

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,

> Thanks,
> 
> Wolfgang.
-- 
Philippe.




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Xenomai-help] IXXAT-PCI-CAN driver hijacks my pci board
  2009-05-20 10:22   ` Wolfgang Grandegger
  2009-05-20 10:36     ` Wolfgang Grandegger
@ 2009-05-20 11:25     ` Stefan Kisdaroczi
  2009-05-21  7:39       ` Wolfgang Grandegger
  1 sibling, 1 reply; 11+ messages in thread
From: Stefan Kisdaroczi @ 2009-05-20 11:25 UTC (permalink / raw)
  To: xenomai

[-- Attachment #1: Type: text/plain, Size: 980 bytes --]

Hi Wolfgang,

Wolfgang Grandegger schrieb:
> [...]
>>> 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.

it probes again, but pci_request_regions() failed in my driver.

In the -ENODEV case, the function pci_release_regions() is not
called in the ixxat driver, so access is blocked for other drivers.

Stefan




[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Xenomai-help] IXXAT-PCI-CAN driver hijacks my pci board
  2009-05-20 11:25     ` Stefan Kisdaroczi
@ 2009-05-21  7:39       ` Wolfgang Grandegger
  2009-05-22  8:16         ` Sebastian Smolorz
  0 siblings, 1 reply; 11+ messages in thread
From: Wolfgang Grandegger @ 2009-05-21  7:39 UTC (permalink / raw)
  To: Stefan Kisdaroczi; +Cc: xenomai

Stefan Kisdaroczi wrote:
> Hi Wolfgang,
> 
> Wolfgang Grandegger schrieb:
>> [...]
>>>> 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.
> 
> it probes again, but pci_request_regions() failed in my driver.
> 
> In the -ENODEV case, the function pci_release_regions() is not
> called in the ixxat driver, so access is blocked for other drivers.

That's a bug. Will fix.

Thanks,

Wolfgang.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Xenomai-help] IXXAT-PCI-CAN driver hijacks my pci board
  2009-05-21  7:39       ` Wolfgang Grandegger
@ 2009-05-22  8:16         ` Sebastian Smolorz
  2009-05-22 15:13           ` Wolfgang Grandegger
  0 siblings, 1 reply; 11+ messages in thread
From: Sebastian Smolorz @ 2009-05-22  8:16 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: xenomai

Hi Wolfgang,

Wolfgang Grandegger wrote:
> Stefan Kisdaroczi wrote:
> > Hi Wolfgang,
> >
> > Wolfgang Grandegger schrieb:
> >> [...]
> >>
> >>>> 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.
> >
> > it probes again, but pci_request_regions() failed in my driver.
> >
> > In the -ENODEV case, the function pci_release_regions() is not
> > called in the ixxat driver, so access is blocked for other drivers.
>
> That's a bug. Will fix.

please see:

https://mail.gna.org/public/xenomai-core/2009-03/msg00055.html

I sent a patch for exactly this issue on March 10.

-- 
Sebastian


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Xenomai-help] IXXAT-PCI-CAN driver hijacks my pci board
  2009-05-22  8:16         ` Sebastian Smolorz
@ 2009-05-22 15:13           ` Wolfgang Grandegger
  2009-05-22 15:20             ` Sebastian Smolorz
  0 siblings, 1 reply; 11+ messages in thread
From: Wolfgang Grandegger @ 2009-05-22 15:13 UTC (permalink / raw)
  To: Sebastian Smolorz; +Cc: xenomai

Sebastian Smolorz wrote:
> Hi Wolfgang,
> 
> Wolfgang Grandegger wrote:
>> Stefan Kisdaroczi wrote:
>>> Hi Wolfgang,
>>>
>>> Wolfgang Grandegger schrieb:
>>>> [...]
>>>>
>>>>>> 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.
>>> it probes again, but pci_request_regions() failed in my driver.
>>>
>>> In the -ENODEV case, the function pci_release_regions() is not
>>> called in the ixxat driver, so access is blocked for other drivers.
>> That's a bug. Will fix.
> 
> please see:
> 
> https://mail.gna.org/public/xenomai-core/2009-03/msg00055.html
> 
> I sent a patch for exactly this issue on March 10.

Obviously I missed that one as well, sorry. Will send a proper patch
later today or tomorrow. Sebastian, does that mean that you have an
IXXAT PCI card available for testing?

Wolfgang.



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Xenomai-help] IXXAT-PCI-CAN driver hijacks my pci board
  2009-05-22 15:13           ` Wolfgang Grandegger
@ 2009-05-22 15:20             ` Sebastian Smolorz
  0 siblings, 0 replies; 11+ messages in thread
From: Sebastian Smolorz @ 2009-05-22 15:20 UTC (permalink / raw)
  To: Wolfgang Grandegger; +Cc: xenomai

Wolfgang Grandegger wrote:
> Obviously I missed that one as well, sorry. Will send a proper patch
> later today or tomorrow. Sebastian, does that mean that you have an
> IXXAT PCI card available for testing?

No, unfortunately not. But I was playing with the source code for that card 
while trying to get an ESD card to work with Xenomai. BTW that reminds me of 
sending a patch for that card to the ML ... maybe next week.

-- 
Sebastian


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Xenomai-core] [Xenomai-help] IXXAT-PCI-CAN driver hijacks my pci board
  2009-05-20 10:40       ` Philippe Gerum
@ 2009-05-25  7:36         ` Wolfgang Grandegger
  0 siblings, 0 replies; 11+ messages in thread
From: Wolfgang Grandegger @ 2009-05-25  7:36 UTC (permalink / raw)
  To: Philippe Gerum; +Cc: Sebastian Smolorz, xenomai, 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.


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2009-05-25  7:36 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-05 19:04 [Xenomai-help] IXXAT-PCI-CAN driver hijacks my pci board Stefan Kisdaroczi
2009-05-20  9:42 ` [Xenomai-core] " Philippe Gerum
2009-05-20 10:22   ` Wolfgang Grandegger
2009-05-20 10:36     ` Wolfgang Grandegger
2009-05-20 10:40       ` Philippe Gerum
2009-05-25  7:36         ` Wolfgang Grandegger
2009-05-20 11:25     ` Stefan Kisdaroczi
2009-05-21  7:39       ` Wolfgang Grandegger
2009-05-22  8:16         ` Sebastian Smolorz
2009-05-22 15:13           ` Wolfgang Grandegger
2009-05-22 15:20             ` Sebastian Smolorz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.