Message ID | 1646490284-22791-1-git-send-email-zheyuma97@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: cxgb3: Fix an error code when probing the driver | expand |
On Sat, Mar 05, 2022 at 02:24:44PM +0000, Zheyu Ma wrote: > During the process of driver probing, probe function should return < 0 > for failure, otherwise kernel will treat value >= 0 as success. > > Therefore, the driver should set 'err' to -EINVAL when > 'adapter->registered_device_map' is NULL. Otherwise kernel will assume > that the driver has been successfully probed and will cause unexpected > errors. > > Signed-off-by: Zheyu Ma <zheyuma97@gmail.com> > --- > drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c > index bfffcaeee624..662af61fc723 100644 > --- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c > +++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c > @@ -3346,6 +3346,7 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent) > } > if (!adapter->registered_device_map) { > dev_err(&pdev->dev, "could not register any net devices\n"); > + err = -EINVAL; ENODEV would be better. Andrew
diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c index bfffcaeee624..662af61fc723 100644 --- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c +++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c @@ -3346,6 +3346,7 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent) } if (!adapter->registered_device_map) { dev_err(&pdev->dev, "could not register any net devices\n"); + err = -EINVAL; goto out_free_dev; }
During the process of driver probing, probe function should return < 0 for failure, otherwise kernel will treat value >= 0 as success. Therefore, the driver should set 'err' to -EINVAL when 'adapter->registered_device_map' is NULL. Otherwise kernel will assume that the driver has been successfully probed and will cause unexpected errors. Signed-off-by: Zheyu Ma <zheyuma97@gmail.com> --- drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 1 + 1 file changed, 1 insertion(+)