firewire: core: don't fail device creation in case of too large config ROM blocks
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Thu, 18 Feb 2010 00:52:45 +0000 (01:52 +0100)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Wed, 24 Feb 2010 19:36:54 +0000 (20:36 +0100)
commit2799d5c5f9d2064c6d1f50ec82e28e3eac5f6954
treea1a954e92c75793a977c8362ba8d97f700da0fa6
parentd54423c62c2f687919d4e5bdd4bb064234ff2d44
firewire: core: don't fail device creation in case of too large config ROM blocks

It never happened yet, but better safe than sorry:  If a device's config
ROM contains a block which overlaps the boundary at 0xfffff00007ff, just
ignore that one block instead of refusing to add the device
representation.  That way, upper layers (kernelspace or userspace
drivers) might still be able to use the device to some degree.

That's better than total inaccessibility of the device.  Worse, the core
would have logged only a generic "giving up on config rom" message which
could only be debugged by feeding a firewire-ohci debug logging session
through a config ROM interpreter, IOW would likely remain undiagnosed.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
drivers/firewire/core-device.c