summaryrefslogtreecommitdiffstats
path: root/drivers/firewire
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2008-05-31 19:01:26 +0200
committerStefan Richter <stefanr@s5r6.in-berlin.de>2008-06-19 00:12:34 +0200
commit0bf607c5b4edd13362e4add6ca1e81f8a9fbd47c (patch)
treecfd10d0025df679ee525aacfbc7479e8fffe90aa /drivers/firewire
parentMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dto... (diff)
downloadlinux-0bf607c5b4edd13362e4add6ca1e81f8a9fbd47c.tar.xz
linux-0bf607c5b4edd13362e4add6ca1e81f8a9fbd47c.zip
firewire: don't panic on invalid AR request buffer
BUG() at this place is wrong. (Unless if the low level driver would already do higher-level input validation of incoming request headers.) Invalid incoming requests or bugs in the controller which corrupt the AR-req buffer needlessly crashed the box because this is run in tasklet context. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire')
-rw-r--r--drivers/firewire/fw-transaction.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/firewire/fw-transaction.c b/drivers/firewire/fw-transaction.c
index ccf0e4cf108f..7f92c45349e2 100644
--- a/drivers/firewire/fw-transaction.c
+++ b/drivers/firewire/fw-transaction.c
@@ -572,7 +572,8 @@ allocate_request(struct fw_packet *p)
break;
default:
- BUG();
+ fw_error("ERROR - corrupt request received - %08x %08x %08x\n",
+ p->header[0], p->header[1], p->header[2]);
return NULL;
}