On Fri, May 10, 2019 at 10:53:08PM +0530, Hariprasad Kelam wrote: > On Fri, May 10, 2019 at 01:57:54PM +0300, Dan Carpenter wrote: > > On Fri, May 10, 2019 at 08:09:00AM +0530, Hariprasad Kelam wrote: > > > diff --git a/drivers/staging/wlan-ng/cfg80211.c b/drivers/staging/wlan-ng/cfg80211.c > > > index 8a862f7..5dad5ac 100644 > > > --- a/drivers/staging/wlan-ng/cfg80211.c > > > +++ b/drivers/staging/wlan-ng/cfg80211.c > > > @@ -231,17 +231,12 @@ static int prism2_set_default_key(struct wiphy *wiphy, struct net_device *dev, > > > { > > > struct wlandevice *wlandev = dev->ml_priv; > > > > > > - int err = 0; > > > - int result = 0; > > > - > > > - result = prism2_domibset_uint32(wlandev, > > > - DIDMIB_DOT11SMT_PRIVACYTABLE_WEPDEFAULTKEYID, > > > - key_index); > > > - > > > - if (result) > > > - err = -EFAULT; > > > - > > > - return err; > > > + if (prism2_domibset_uint32(wlandev, > > > + DIDMIB_DOT11SMT_PRIVACYTABLE_WEPDEFAULTKEYID, > > > + key_index)) > > > + return -EFAULT; > > > + else > > > + return 0; > > > > We should just preserve the error codes from prism2_domibset_uint32(). > > > > return prism2_domibset_uint32(dev->ml_priv, > > DIDMIB_DOT11SMT_PRIVACYTABLE_WEPDEFAULTKEYID, > > key_index); > > > prism2_domibset_uint32 function can return -ENODEV,-EPERM,-EBUSY if > fail case. > > If we observe the pattern of calling this function,we can find > > "return -EFAULT on failure and 0 on success". > > Due to this we can not collect return status directly. Yes, I know this code is full of nonsense. It shouldn't just always return -EFAULT, it should preserve the correct error code. This is only called from rdev_set_default_key() if you want to check the caller. regards, dan carpenter _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel