On Wed, Apr 24, 2019 at 12:21:47PM +0200, Stefan Sperling wrote: > On Sun, Apr 21, 2019 at 09:44:08PM +0800, Kevin Lo wrote: > > On Sun, Apr 21, 2019 at 01:02:39PM +1000, Jonathan Matthew wrote: > > > Currently we have some drivers with media_change > > > functions returning the errno from ieee80211_media_change (iwn, iwm) and > > > some > > > just returning 0 at the end (run, rtwn, ral). The ones returning 0 are > > > mostly > > > ignoring possible errors from x_init() so I'm leaning towards making them > > > more > > > like iwn/m. > > > > Agreed. Here's a follow-up diff which returns the errno from > > ieee80211_media_change(). > > OK by me. If this diff raises any new error condition, it's > an error that has been hidden and should be investigated.
ok by me too. > > > Index: sys/dev/ic/bwfm.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/ic/bwfm.c,v > > retrieving revision 1.59 > > diff -u -p -u -p -r1.59 bwfm.c > > --- sys/dev/ic/bwfm.c 1 Apr 2019 15:19:56 -0000 1.59 > > +++ sys/dev/ic/bwfm.c 21 Apr 2019 13:26:12 -0000 > > @@ -757,7 +757,7 @@ bwfm_media_change(struct ifnet *ifp) > > bwfm_stop(ifp); > > bwfm_init(ifp); > > } > > - return 0; > > + return error; > > } > > > > /* Chip initialization (SDIO, PCIe) */ > > Index: sys/dev/ic/rtwn.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/ic/rtwn.c,v > > retrieving revision 1.45 > > diff -u -p -u -p -r1.45 rtwn.c > > --- sys/dev/ic/rtwn.c 11 Mar 2019 06:19:33 -0000 1.45 > > +++ sys/dev/ic/rtwn.c 21 Apr 2019 13:26:12 -0000 > > @@ -745,9 +745,9 @@ rtwn_media_change(struct ifnet *ifp) > > if ((ifp->if_flags & (IFF_UP | IFF_RUNNING)) == > > (IFF_UP | IFF_RUNNING)) { > > rtwn_stop(ifp); > > - rtwn_init(ifp); > > + error = rtwn_init(ifp); > > } > > - return (0); > > + return (error); > > } > > > > /* > > Index: sys/dev/pci/if_iwi.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/pci/if_iwi.c,v > > retrieving revision 1.138 > > diff -u -p -u -p -r1.138 if_iwi.c > > --- sys/dev/pci/if_iwi.c 26 Apr 2018 12:50:07 -0000 1.138 > > +++ sys/dev/pci/if_iwi.c 21 Apr 2019 13:26:12 -0000 > > @@ -647,9 +647,9 @@ iwi_media_change(struct ifnet *ifp) > > return error; > > > > if ((ifp->if_flags & (IFF_UP | IFF_RUNNING)) == (IFF_UP | IFF_RUNNING)) > > - iwi_init(ifp); > > + error = iwi_init(ifp); > > > > - return 0; > > + return error; > > } > > > > void > > Index: sys/dev/usb/if_ral.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/usb/if_ral.c,v > > retrieving revision 1.145 > > diff -u -p -u -p -r1.145 if_ral.c > > --- sys/dev/usb/if_ral.c 13 Jan 2019 14:27:15 -0000 1.145 > > +++ sys/dev/usb/if_ral.c 21 Apr 2019 13:26:12 -0000 > > @@ -497,9 +497,9 @@ ural_media_change(struct ifnet *ifp) > > return error; > > > > if ((ifp->if_flags & (IFF_UP | IFF_RUNNING)) == (IFF_UP | IFF_RUNNING)) > > - ural_init(ifp); > > + error = ural_init(ifp); > > > > - return 0; > > + return error; > > } > > > > /* > > Index: sys/dev/usb/if_rsu.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/usb/if_rsu.c,v > > retrieving revision 1.43 > > diff -u -p -u -p -r1.43 if_rsu.c > > --- sys/dev/usb/if_rsu.c 26 Apr 2018 12:50:07 -0000 1.43 > > +++ sys/dev/usb/if_rsu.c 21 Apr 2019 13:26:12 -0000 > > @@ -749,9 +749,9 @@ rsu_media_change(struct ifnet *ifp) > > if ((ifp->if_flags & (IFF_UP | IFF_RUNNING)) == > > (IFF_UP | IFF_RUNNING)) { > > rsu_stop(ifp); > > - rsu_init(ifp); > > + error = rsu_init(ifp); > > } > > - return (0); > > + return (error); > > } > > > > void > > Index: sys/dev/usb/if_rum.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/usb/if_rum.c,v > > retrieving revision 1.123 > > diff -u -p -u -p -r1.123 if_rum.c > > --- sys/dev/usb/if_rum.c 26 Oct 2017 15:00:28 -0000 1.123 > > +++ sys/dev/usb/if_rum.c 21 Apr 2019 13:26:12 -0000 > > @@ -591,9 +591,9 @@ rum_media_change(struct ifnet *ifp) > > return error; > > > > if ((ifp->if_flags & (IFF_UP | IFF_RUNNING)) == (IFF_UP | IFF_RUNNING)) > > - rum_init(ifp); > > + error = rum_init(ifp); > > > > - return 0; > > + return error; > > } > > > > /* > > Index: sys/dev/usb/if_run.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/usb/if_run.c,v > > retrieving revision 1.125 > > diff -u -p -u -p -r1.125 if_run.c > > --- sys/dev/usb/if_run.c 30 Jan 2018 20:56:38 -0000 1.125 > > +++ sys/dev/usb/if_run.c 21 Apr 2019 13:26:12 -0000 > > @@ -1693,10 +1693,10 @@ run_media_change(struct ifnet *ifp) > > if ((ifp->if_flags & (IFF_UP | IFF_RUNNING)) == > > (IFF_UP | IFF_RUNNING)) { > > run_stop(ifp, 0); > > - run_init(ifp); > > + error = run_init(ifp); > > } > > > > - return 0; > > + return error; > > } > > > > void > > Index: sys/dev/usb/if_uath.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/usb/if_uath.c,v > > retrieving revision 1.82 > > diff -u -p -u -p -r1.82 if_uath.c > > --- sys/dev/usb/if_uath.c 26 Oct 2017 15:00:28 -0000 1.82 > > +++ sys/dev/usb/if_uath.c 21 Apr 2019 13:26:12 -0000 > > @@ -719,9 +719,9 @@ uath_media_change(struct ifnet *ifp) > > return error; > > > > if ((ifp->if_flags & (IFF_UP | IFF_RUNNING)) == (IFF_UP | IFF_RUNNING)) > > - uath_init(ifp); > > + error = uath_init(ifp); > > > > - return 0; > > + return error; > > } > > > > /* > > Index: sys/dev/usb/if_upgt.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/usb/if_upgt.c,v > > retrieving revision 1.82 > > diff -u -p -u -p -r1.82 if_upgt.c > > --- sys/dev/usb/if_upgt.c 25 Aug 2018 17:07:20 -0000 1.82 > > +++ sys/dev/usb/if_upgt.c 21 Apr 2019 13:26:13 -0000 > > @@ -1242,7 +1242,7 @@ upgt_media_change(struct ifnet *ifp) > > upgt_init(ifp); > > } > > > > - return (0); > > + return (error); > > } > > > > void > > Index: sys/dev/usb/if_zyd.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/usb/if_zyd.c,v > > retrieving revision 1.119 > > diff -u -p -u -p -r1.119 if_zyd.c > > --- sys/dev/usb/if_zyd.c 27 Nov 2018 14:53:56 -0000 1.119 > > +++ sys/dev/usb/if_zyd.c 21 Apr 2019 13:26:13 -0000 > > @@ -646,9 +646,9 @@ zyd_media_change(struct ifnet *ifp) > > return error; > > > > if ((ifp->if_flags & (IFF_UP | IFF_RUNNING)) == (IFF_UP | IFF_RUNNING)) > > - zyd_init(ifp); > > + error = zyd_init(ifp); > > > > - return 0; > > + return error; > > } > > > > /* > >