渡辺です。

肝心の中身を忘れてました。

Index: ufoma.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/usb/ufoma.c,v
retrieving revision 1.8
diff -u -r1.8 ufoma.c
--- ufoma.c     18 Jun 2007 22:27:56 -0000      1.8
+++ ufoma.c     5 Jul 2007 15:36:18 -0000
@@ -376,7 +376,9 @@
        }
        printf("\n");
 
-       if(mad->bType == UMCPC_ACM_TYPE_AB5){
+       if((mad->bType == UMCPC_ACM_TYPE_AB5)
+          ||(mad->bType == UMCPC_ACM_TYPE_AB6)){
+               /*These does not have data interface*/
                sc->sc_is_ucom = 0;
                ufoma_init_pseudo_ucom(sc);
        }else{
@@ -946,12 +948,14 @@
 
        sc->sc_is_ucom = 1;
        cmd = ufoma_get_intconf(cd, id, UDESC_CS_INTERFACE, UDESCSUB_CDC_CM);
+       if(cmd == NULL)
+               return -1;
        sc->sc_cm_cap = cmd->bmCapabilities;
        acm = ufoma_get_intconf(cd, id, UDESC_CS_INTERFACE, UDESCSUB_CDC_ACM);
+       if(acm == NULL)
+               return -1;
        sc->sc_acm_cap = acm->bmCapabilities;
        
-       if(cmd == NULL)
-               return -1;
        sc->sc_data_iface_no = cmd->bDataInterface;
        printf("%s: data interface %d, has %sCM over data, has %sbreak\n",
            devname, sc->sc_data_iface_no,

メールによる返信