diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/firewire/ohci.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c index 3dc2e8529a42..9815137b7c7d 100644 --- a/drivers/firewire/ohci.c +++ b/drivers/firewire/ohci.c | |||
@@ -246,6 +246,15 @@ static const struct { | |||
246 | {PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_FW, QUIRK_BE_HEADERS}, | 246 | {PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_FW, QUIRK_BE_HEADERS}, |
247 | }; | 247 | }; |
248 | 248 | ||
249 | /* This overrides anything that was found in ohci_quirks[]. */ | ||
250 | static int param_quirks; | ||
251 | module_param_named(quirks, param_quirks, int, 0644); | ||
252 | MODULE_PARM_DESC(quirks, "Chip quirks (default = 0" | ||
253 | ", nonatomic cycle timer = " __stringify(QUIRK_CYCLE_TIMER) | ||
254 | ", reset packet generation = " __stringify(QUIRK_RESET_PACKET) | ||
255 | ", AR/selfID endianess = " __stringify(QUIRK_BE_HEADERS) | ||
256 | ")"); | ||
257 | |||
249 | #ifdef CONFIG_FIREWIRE_OHCI_DEBUG | 258 | #ifdef CONFIG_FIREWIRE_OHCI_DEBUG |
250 | 259 | ||
251 | #define OHCI_PARAM_DEBUG_AT_AR 1 | 260 | #define OHCI_PARAM_DEBUG_AT_AR 1 |
@@ -2370,6 +2379,8 @@ static int __devinit pci_probe(struct pci_dev *dev, | |||
2370 | ohci->quirks = ohci_quirks[i].flags; | 2379 | ohci->quirks = ohci_quirks[i].flags; |
2371 | break; | 2380 | break; |
2372 | } | 2381 | } |
2382 | if (param_quirks) | ||
2383 | ohci->quirks = param_quirks; | ||
2373 | 2384 | ||
2374 | ar_context_init(&ohci->ar_request_ctx, ohci, | 2385 | ar_context_init(&ohci->ar_request_ctx, ohci, |
2375 | OHCI1394_AsReqRcvContextControlSet); | 2386 | OHCI1394_AsReqRcvContextControlSet); |