View | Details | Raw Unified | Return to bug 192345 | Differences between
and this patch

Collapse All | Expand All

(-)/usr/src/sys/dev/usb/net/if_cdce.c (-8 / +11 lines)
Lines 276-289 Link Here
276
	{USB_VPI(USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SLC750, CDCE_FLAG_ZAURUS | CDCE_FLAG_NO_UNION)},
276
	{USB_VPI(USB_VENDOR_SHARP, USB_PRODUCT_SHARP_SLC750, CDCE_FLAG_ZAURUS | CDCE_FLAG_NO_UNION)},
277
277
278
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
278
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
279
		USB_IFACE_SUBCLASS(0x02), USB_IFACE_PROTOCOL(0x16),
279
		USB_IFACE_SUBCLASS(0x02), USB_IFACE_PROTOCOL(0x16)},
280
		USB_DRIVER_INFO(0)},
281
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
280
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
282
		USB_IFACE_SUBCLASS(0x02), USB_IFACE_PROTOCOL(0x46),
281
		USB_IFACE_SUBCLASS(0x02), USB_IFACE_PROTOCOL(0x46)},
283
		USB_DRIVER_INFO(0)},
284
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
282
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
285
		USB_IFACE_SUBCLASS(0x02), USB_IFACE_PROTOCOL(0x76),
283
		USB_IFACE_SUBCLASS(0x02), USB_IFACE_PROTOCOL(0x76)},
286
		USB_DRIVER_INFO(0)},
284
	{USB_VENDOR(USB_VENDOR_HUAWEI), USB_IFACE_CLASS(UICLASS_VENDOR),
285
		USB_IFACE_SUBCLASS(0x03), USB_IFACE_PROTOCOL(0x16)},
287
};
286
};
288
287
289
static const STRUCT_USB_DUAL_ID cdce_dual_devs[] = {
288
static const STRUCT_USB_DUAL_ID cdce_dual_devs[] = {
Lines 544-552 Link Here
544
	int error;
543
	int error;
545
544
546
	error = usbd_lookup_id_by_uaa(cdce_host_devs, sizeof(cdce_host_devs), uaa);
545
	error = usbd_lookup_id_by_uaa(cdce_host_devs, sizeof(cdce_host_devs), uaa);
547
	if (error)
546
	if (error != 0) {
548
		error = usbd_lookup_id_by_uaa(cdce_dual_devs, sizeof(cdce_dual_devs), uaa);
547
		error = usbd_lookup_id_by_uaa(cdce_dual_devs, sizeof(cdce_dual_devs), uaa);
549
	return (error);
548
		if (error != 0) {
549
			return (error);
550
		}
551
	}
552
	return (BUS_PROBE_DEFAULT);
550
}
553
}
551
554
552
static void
555
static void
(-)/usr/src/sys/dev/usb/serial/u3g.c (-5 / +11 lines)
Lines 306-312 Link Here
306
	U3G_DEV(HUAWEI, E173, 0),
306
	U3G_DEV(HUAWEI, E173, 0),
307
	U3G_DEV(HUAWEI, E173_INIT, U3GINIT_HUAWEISCSI),
307
	U3G_DEV(HUAWEI, E173_INIT, U3GINIT_HUAWEISCSI),
308
	U3G_DEV(HUAWEI, E3131, 0),
308
	U3G_DEV(HUAWEI, E3131, 0),
309
	U3G_DEV(HUAWEI, E3131_INIT, U3GINIT_HUAWEISCSI),
309
	U3G_DEV(HUAWEI, E3131_INIT, U3GINIT_HUAWEISCSI2),
310
	U3G_DEV(HUAWEI, E180V, U3GINIT_HUAWEI),
310
	U3G_DEV(HUAWEI, E180V, U3GINIT_HUAWEI),
311
	U3G_DEV(HUAWEI, E220, U3GINIT_HUAWEI),
311
	U3G_DEV(HUAWEI, E220, U3GINIT_HUAWEI),
312
	U3G_DEV(HUAWEI, E220BIS, U3GINIT_HUAWEI),
312
	U3G_DEV(HUAWEI, E220BIS, U3GINIT_HUAWEI),
Lines 324-329 Link Here
324
	U3G_DEV(HUAWEI, K3770_INIT, U3GINIT_HUAWEISCSI),
324
	U3G_DEV(HUAWEI, K3770_INIT, U3GINIT_HUAWEISCSI),
325
	U3G_DEV(HUAWEI, K4505, U3GINIT_HUAWEI),
325
	U3G_DEV(HUAWEI, K4505, U3GINIT_HUAWEI),
326
	U3G_DEV(HUAWEI, K4505_INIT, U3GINIT_HUAWEISCSI),
326
	U3G_DEV(HUAWEI, K4505_INIT, U3GINIT_HUAWEISCSI),
327
	U3G_DEV(HUAWEI, E3272_INIT, U3GINIT_HUAWEISCSI),
328
	U3G_DEV(HUAWEI, E3272, 0),
327
	U3G_DEV(HUAWEI, ETS2055, U3GINIT_HUAWEI),
329
	U3G_DEV(HUAWEI, ETS2055, U3GINIT_HUAWEI),
328
	U3G_DEV(KYOCERA2, CDMA_MSM_K, 0),
330
	U3G_DEV(KYOCERA2, CDMA_MSM_K, 0),
329
	U3G_DEV(KYOCERA2, KPC680, 0),
331
	U3G_DEV(KYOCERA2, KPC680, 0),
Lines 828-833 Link Here
828
static int
830
static int
829
u3g_probe(device_t self)
831
u3g_probe(device_t self)
830
{
832
{
833
	int error;
831
	struct usb_attach_arg *uaa = device_get_ivars(self);
834
	struct usb_attach_arg *uaa = device_get_ivars(self);
832
835
833
	if (uaa->usb_mode != USB_MODE_HOST) {
836
	if (uaa->usb_mode != USB_MODE_HOST) {
Lines 839-845 Link Here
839
	if (uaa->info.bInterfaceClass != UICLASS_VENDOR) {
842
	if (uaa->info.bInterfaceClass != UICLASS_VENDOR) {
840
		return (ENXIO);
843
		return (ENXIO);
841
	}
844
	}
842
	return (usbd_lookup_id_by_uaa(u3g_devs, sizeof(u3g_devs), uaa));
845
	error = usbd_lookup_id_by_uaa(u3g_devs, sizeof(u3g_devs), uaa);
846
	if (error != 0) {
847
		return (error);
848
	}
849
	return (BUS_PROBE_GENERIC);
843
}
850
}
844
851
845
static int
852
static int
Lines 864-871 Link Here
864
	}
871
	}
865
872
866
	/* copy in USB config */
873
	/* copy in USB config */
867
	for (n = 0; n != U3G_N_TRANSFER; n++)
874
	memcpy(&u3g_config_tmp, &u3g_config, sizeof(u3g_config));
868
		u3g_config_tmp[n] = u3g_config[n];
869
875
870
	device_set_usb_desc(dev);
876
	device_set_usb_desc(dev);
871
	mtx_init(&sc->sc_mtx, "u3g", NULL, MTX_DEF);
877
	mtx_init(&sc->sc_mtx, "u3g", NULL, MTX_DEF);
Lines 882-888 Link Here
882
		id = usbd_get_interface_descriptor(iface);
888
		id = usbd_get_interface_descriptor(iface);
883
		if (id == NULL || id->bInterfaceClass != UICLASS_VENDOR)
889
		if (id == NULL || id->bInterfaceClass != UICLASS_VENDOR)
884
			continue;
890
			continue;
885
		usbd_set_parent_iface(uaa->device, i, uaa->info.bIfaceIndex);
886
		iface_valid |= (1<<i);
891
		iface_valid |= (1<<i);
887
	}
892
	}
888
893
Lines 913-918 Link Here
913
		iface = usbd_get_iface(uaa->device, i);
918
		iface = usbd_get_iface(uaa->device, i);
914
		id = usbd_get_interface_descriptor(iface);
919
		id = usbd_get_interface_descriptor(iface);
915
		sc->sc_iface[nports] = id->bInterfaceNumber;
920
		sc->sc_iface[nports] = id->bInterfaceNumber;
921
		usbd_set_parent_iface(uaa->device, i, uaa->info.bIfaceIndex);
916
922
917
		if (bootverbose && sc->sc_xfer[nports][U3G_INTR]) {
923
		if (bootverbose && sc->sc_xfer[nports][U3G_INTR]) {
918
			device_printf(dev, "port %d supports modem control\n",
924
			device_printf(dev, "port %d supports modem control\n",

Return to bug 192345