* Re: [PATCH] firewire: ohci: do not bind to Pinnacle or Fujitsu HCI, prevent panic
2011-07-10 23:24 ` [PATCH] firewire: ohci: do not bind to Pinnacle or Fujitsu HCI, " Stefan Richter
@ 2011-07-10 23:30 ` Bjørn Forbord
2011-07-10 23:50 ` Stefan Richter
1 sibling, 0 replies; 4+ messages in thread
From: Bjørn Forbord @ 2011-07-10 23:30 UTC (permalink / raw)
To: Stefan Richter
Cc: Clemens Ladisch, Joel bourrigaud, linux1394-devel, linux-kernel
I saw these mails just now and it's late. I will check my machine and
answer tomorrow
Best regards
Bjørn
Den 11. juli 2011 01:24, skrev Stefan Richter:
> When firewire-ohci is bound to a Pinnacle MovieBoard, eventually a
> "Register access failure" is logged and an interrupt storm or a kernel
> panic happens. https://bugzilla.kernel.org/show_bug.cgi?id=36622
>
> Until this is sorted out (if that is going to succeed at all), let's
> just prevent firewire-ohci from touching these devices.
>
> This device with link layer PCI IDs 11bd:0015 and 1394 PHY IDs
> 00000e:086613 is apparently a Fujitsu MB86613 --- hence the PHY IDs.
> Therefore, blacklist the MB86613 too (PCI IDs 10cf:200c). We only check
> the vendor ID because there is no other Fujitsu OHCI-1394 PCI device
> known besides this one.
>
> Signed-off-by: Stefan Richter<stefanr@s5r6.in-berlin.de>
> Cc:<stable@kernel.org>
> ---
> Supersedes patch "firewire: ohci: do not bind to Pinnacle cards, prevent panic"
>
> drivers/firewire/ohci.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> Index: b/drivers/firewire/ohci.c
> ===================================================================
> --- a/drivers/firewire/ohci.c
> +++ b/drivers/firewire/ohci.c
> @@ -260,6 +260,8 @@ static inline struct fw_ohci *fw_ohci(st
>
> static char ohci_driver_name[] = KBUILD_MODNAME;
>
> +#define PCI_VENDOR_ID_FUJITSU 0x10cf
> +#define PCI_VENDOR_ID_PINNACLE_SYSTEMS 0x11bd
> #define PCI_DEVICE_ID_AGERE_FW643 0x5901
> #define PCI_DEVICE_ID_JMICRON_JMB38X_FW 0x2380
> #define PCI_DEVICE_ID_TI_TSB12LV22 0x8009
> @@ -3202,6 +3204,12 @@ static int __devinit pci_probe(struct pc
> int i, err;
> size_t size;
>
> + if (dev->vendor == PCI_VENDOR_ID_FUJITSU ||
> + dev->vendor == PCI_VENDOR_ID_PINNACLE_SYSTEMS) {
> + dev_err(&dev->dev, "Controller type is not yet supported\n");
> + return -ENOSYS;
> + }
> +
> ohci = kzalloc(sizeof(*ohci), GFP_KERNEL);
> if (ohci == NULL) {
> err = -ENOMEM;
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] firewire: ohci: do not bind to Pinnacle or Fujitsu HCI, prevent panic
2011-07-10 23:24 ` [PATCH] firewire: ohci: do not bind to Pinnacle or Fujitsu HCI, " Stefan Richter
2011-07-10 23:30 ` Bjørn Forbord
@ 2011-07-10 23:50 ` Stefan Richter
1 sibling, 0 replies; 4+ messages in thread
From: Stefan Richter @ 2011-07-10 23:50 UTC (permalink / raw)
To: Clemens Ladisch
Cc: Joel bourrigaud, Bjørn Forbord, linux1394-devel,
linux-kernel
On Jul 11 Stefan Richter wrote:
> This device with link layer PCI IDs 11bd:0015 and 1394 PHY IDs
> 00000e:086613 is apparently a Fujitsu MB86613 --- hence the PHY IDs.
> Therefore, blacklist the MB86613 too
On the other hand, maybe the original MB86613 does not exhibit the issue.
The Pinnacle device is combined with another device or function, hence not
identical with MB86613:
0c:07.0 Multimedia controller [0480]: Pinnacle Systems Inc. AV/DV Studio Capture Card [11bd:bede]
Subsystem: Pinnacle Systems Inc. Device [11bd:0023]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort+ <MAbort+ >SERR- <PERR- INTx-
Latency: 64 (2000ns min, 4000ns max), Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 10
Region 0: Memory at fb7ff000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
0c:07.1 FireWire (IEEE 1394) [0c00]: Pinnacle Systems Inc. Device [11bd:0015] (prog-if 10 [OHCI])
Subsystem: Pinnacle Systems Inc. Device [11bd:0023]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 64 (8000ns min, 20000ns max), Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 10
Region 0: Memory at fb7fe800 (32-bit, non-prefetchable) [size=2K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Kernel modules: firewire-ohci
BTW, I dimly remember hear-say about Fujitsu controllers, particularly
because they are among the few (or the only ones?) that featured a
programmable PhysicalUpperBound. So there was at least one Linux users who
had such a controller; perhaps as onboard controllers of a Fujitsu
notebook. (Which has got a shorter service life expectancy than a PCI
card...)
--
Stefan Richter
-=====-==-== -=== -=-==
http://arcgraph.de/sr/
^ permalink raw reply [flat|nested] 4+ messages in thread