* [PATCH] firewire: ohci: do not bind to Pinnacle cards, prevent panic [not found] ` <20110709235410.08004e5d@stein> @ 2011-07-09 22:23 ` Stefan Richter [not found] ` <4E1A161D.1050304@ladisch.de> 1 sibling, 0 replies; 4+ messages in thread From: Stefan Richter @ 2011-07-09 22:23 UTC (permalink / raw) To: linux1394-devel; +Cc: linux-kernel 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. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Cc: <stable@kernel.org> --- drivers/firewire/ohci.c | 6 ++++++ 1 file changed, 6 insertions(+) Index: b/drivers/firewire/ohci.c =================================================================== --- a/drivers/firewire/ohci.c +++ b/drivers/firewire/ohci.c @@ -263,6 +263,7 @@ static char ohci_driver_name[] = KBUILD_ #define PCI_DEVICE_ID_AGERE_FW643 0x5901 #define PCI_DEVICE_ID_JMICRON_JMB38X_FW 0x2380 #define PCI_DEVICE_ID_TI_TSB12LV22 0x8009 +#define PCI_VENDOR_ID_PINNACLE_SYSTEMS 0x11bd #define QUIRK_CYCLE_TIMER 1 #define QUIRK_RESET_PACKET 2 @@ -3202,6 +3203,11 @@ static int __devinit pci_probe(struct pc int i, err; size_t size; + if (dev->vendor == PCI_VENDOR_ID_PINNACLE_SYSTEMS) { + dev_err(&dev->dev, "Pinnacle MovieBoard not yet supported\n"); + return -ENOSYS; + } + ohci = kzalloc(sizeof(*ohci), GFP_KERNEL); if (ohci == NULL) { err = -ENOMEM; -- Stefan Richter -=====-==-== -=== -=-=- http://arcgraph.de/sr/ ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <4E1A161D.1050304@ladisch.de>]
* [PATCH] firewire: ohci: do not bind to Pinnacle or Fujitsu HCI, prevent panic [not found] ` <4E1A161D.1050304@ladisch.de> @ 2011-07-10 23:24 ` Stefan Richter 2011-07-10 23:30 ` Bjørn Forbord 2011-07-10 23:50 ` Stefan Richter 0 siblings, 2 replies; 4+ messages in thread From: Stefan Richter @ 2011-07-10 23:24 UTC (permalink / raw) To: Clemens Ladisch Cc: Joel bourrigaud, Bjørn Forbord, linux1394-devel, linux-kernel 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; -- Stefan Richter -=====-==-== -=== -=-== http://arcgraph.de/sr/ ^ 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: 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
end of thread, other threads:[~2011-07-11 0:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20110604002938.78c85881@stein>
[not found] ` <20110604010625.1a37638e@stein>
[not found] ` <4DEA697A.1090104@bourrigaud.info>
[not found] ` <20110612145303.2099aa81@stein>
[not found] ` <4DF4FF4F.4020607@bourrigaud.info>
[not found] ` <20110612210111.3e979131@stein>
[not found] ` <4DF528CF.50407@bourrigaud.info>
[not found] ` <20110709235410.08004e5d@stein>
2011-07-09 22:23 ` [PATCH] firewire: ohci: do not bind to Pinnacle cards, prevent panic Stefan Richter
[not found] ` <4E1A161D.1050304@ladisch.de>
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
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.