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. > 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; > } > > /* >