diff options
author | Casey Leedom <leedom@chelsio.com> | 2011-02-14 07:56:22 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-02-14 20:37:10 -0500 |
commit | bb14a1af86d01f66dc9620725ac00a240331afec (patch) | |
tree | 202efef36effc9a37165bb147d4c381129ac8daf | |
parent | 98200ec28a66c8db5839ac26e9a895984206b50f (diff) |
cxgb4vf: Check driver parameters in the right place ...
Check module parameter validity in the module initialization routine instead
of the PCI Device Probe routine.
Signed-off-by: Casey Leedom <leedom@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/cxgb4vf/cxgb4vf_main.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/drivers/net/cxgb4vf/cxgb4vf_main.c b/drivers/net/cxgb4vf/cxgb4vf_main.c index 56166ae2059f..072b64e49370 100644 --- a/drivers/net/cxgb4vf/cxgb4vf_main.c +++ b/drivers/net/cxgb4vf/cxgb4vf_main.c | |||
@@ -2489,17 +2489,6 @@ static int __devinit cxgb4vf_pci_probe(struct pci_dev *pdev, | |||
2489 | struct net_device *netdev; | 2489 | struct net_device *netdev; |
2490 | 2490 | ||
2491 | /* | 2491 | /* |
2492 | * Vet our module parameters. | ||
2493 | */ | ||
2494 | if (msi != MSI_MSIX && msi != MSI_MSI) { | ||
2495 | dev_err(&pdev->dev, "bad module parameter msi=%d; must be %d" | ||
2496 | " (MSI-X or MSI) or %d (MSI)\n", msi, MSI_MSIX, | ||
2497 | MSI_MSI); | ||
2498 | err = -EINVAL; | ||
2499 | goto err_out; | ||
2500 | } | ||
2501 | |||
2502 | /* | ||
2503 | * Print our driver banner the first time we're called to initialize a | 2492 | * Print our driver banner the first time we're called to initialize a |
2504 | * device. | 2493 | * device. |
2505 | */ | 2494 | */ |
@@ -2802,7 +2791,6 @@ err_release_regions: | |||
2802 | err_disable_device: | 2791 | err_disable_device: |
2803 | pci_disable_device(pdev); | 2792 | pci_disable_device(pdev); |
2804 | 2793 | ||
2805 | err_out: | ||
2806 | return err; | 2794 | return err; |
2807 | } | 2795 | } |
2808 | 2796 | ||
@@ -2915,6 +2903,17 @@ static int __init cxgb4vf_module_init(void) | |||
2915 | { | 2903 | { |
2916 | int ret; | 2904 | int ret; |
2917 | 2905 | ||
2906 | /* | ||
2907 | * Vet our module parameters. | ||
2908 | */ | ||
2909 | if (msi != MSI_MSIX && msi != MSI_MSI) { | ||
2910 | printk(KERN_WARNING KBUILD_MODNAME | ||
2911 | ": bad module parameter msi=%d; must be %d" | ||
2912 | " (MSI-X or MSI) or %d (MSI)\n", | ||
2913 | msi, MSI_MSIX, MSI_MSI); | ||
2914 | return -EINVAL; | ||
2915 | } | ||
2916 | |||
2918 | /* Debugfs support is optional, just warn if this fails */ | 2917 | /* Debugfs support is optional, just warn if this fails */ |
2919 | cxgb4vf_debugfs_root = debugfs_create_dir(KBUILD_MODNAME, NULL); | 2918 | cxgb4vf_debugfs_root = debugfs_create_dir(KBUILD_MODNAME, NULL); |
2920 | if (!cxgb4vf_debugfs_root) | 2919 | if (!cxgb4vf_debugfs_root) |