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) |
