So to just remove the ifaceno check, here's the diff.

This matches u3g behaviour for SIERRA TRUINSTALL devices. There is
still a bit of hardcoded stuff that needs to be reviewed in umsm
for other devices. I think yuo@ was trying to match some of these
style checks when he added support for these devices (but it
does not appear to be necessary to isolate based on ifaceno for
u3g)

Index: umsm.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/umsm.c,v
retrieving revision 1.104
diff -u -p -u -r1.104 umsm.c
--- umsm.c      29 Sep 2015 08:34:28 -0000      1.104
+++ umsm.c      20 May 2016 16:37:08 -0000
@@ -115,6 +115,7 @@ struct umsm_type {
 
 static const struct umsm_type umsm_devs[] = {
        {{ USB_VENDOR_AIRPRIME, USB_PRODUCT_AIRPRIME_PC5220 }, 0},
+       {{ USB_VENDOR_AIRPRIME, USB_PRODUCT_AIRPRIME_AIRCARD_313U }, 0},
 
        {{ USB_VENDOR_ANYDATA,  USB_PRODUCT_ANYDATA_A2502 }, 0},
        {{ USB_VENDOR_ANYDATA,  USB_PRODUCT_ANYDATA_ADU_500A }, 0},
@@ -247,6 +248,7 @@ static const struct umsm_type umsm_devs[
        {{ USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_USB305}, 0},
        {{ USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_TRUINSTALL }, DEV_TRUINSTALL},
        {{ USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_MC8355}, 0},
+       {{ USB_VENDOR_SIERRA, USB_PRODUCT_SIERRA_AIRCARD_770S}, 0},
 
        {{ USB_VENDOR_TCTMOBILE, USB_PRODUCT_TCTMOBILE_UMASS }, DEV_UMASS3},
        {{ USB_VENDOR_TCTMOBILE, USB_PRODUCT_TCTMOBILE_UMASS_2 }, DEV_UMASS3},
@@ -358,8 +360,7 @@ umsm_attach(struct device *parent, struc
                         umsm_huawei_changemode(uaa->device);
                        printf("%s: umass only mode. need to reattach\n",
                                sc->sc_dev.dv_xname);
-               } else if ((sc->sc_flag & DEV_TRUINSTALL) &&
-                           uaa->ifaceno == 0) {
+               } else if (sc->sc_flag & DEV_TRUINSTALL) {
                        umsm_truinstall_changemode(uaa->device);
                        printf("%s: truinstall mode. need to reattach\n",
                                sc->sc_dev.dv_xname);

Reply via email to