The following reply was made to PR usb/125736; it has been noted by GNATS. From: Daniel Gerzo <dan...@freebsd.org> To: bug-follo...@freebsd.org Cc: h...@freebsd.org, ad...@lissyara.su Subject: Re: usb/125736: [ukbd] [hang] system hangs after AT keyboard detect if ukbd loaded as a module Date: Sun, 8 Aug 2010 13:09:08 +0000
--X1bOJ3K7DJ5YkBrT Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello, attached, I am sending patch which fixes other modules similarly. -- Best regards, Danile Gerzo --X1bOJ3K7DJ5YkBrT Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="hps.diff" Index: if_ndis/if_ndis_usb.c =================================================================== --- if_ndis/if_ndis_usb.c (revision 211066) +++ if_ndis/if_ndis_usb.c (working copy) @@ -107,6 +107,7 @@ static devclass_t ndis_devclass; DRIVER_MODULE(ndis, uhub, ndis_driver, ndis_devclass, ndisdrv_modevent, 0); +MODULE_VERSION(ndis, 1); static int ndisusb_devcompare(interface_type bustype, struct ndis_usb_type *t, device_t dev) Index: usb/serial/u3g.c =================================================================== --- usb/serial/u3g.c (revision 211066) +++ usb/serial/u3g.c (working copy) @@ -178,6 +178,7 @@ DRIVER_MODULE(u3g, uhub, u3g_driver, u3g_devclass, u3g_driver_loaded, 0); MODULE_DEPEND(u3g, ucom, 1, 1, 1); MODULE_DEPEND(u3g, usb, 1, 1, 1); +MODULE_VERSION(u3g, 1); static const struct usb_device_id u3g_devs[] = { #define U3G_DEV(v,p,i) { USB_VPI(USB_VENDOR_##v, USB_PRODUCT_##v##_##p, i) } Index: usb/serial/ucycom.c =================================================================== --- usb/serial/ucycom.c (revision 211066) +++ usb/serial/ucycom.c (working copy) @@ -176,6 +176,7 @@ DRIVER_MODULE(ucycom, uhub, ucycom_driver, ucycom_devclass, NULL, 0); MODULE_DEPEND(ucycom, ucom, 1, 1, 1); MODULE_DEPEND(ucycom, usb, 1, 1, 1); +MODULE_VERSION(ucycom, 1); /* * Supported devices Index: usb/serial/uark.c =================================================================== --- usb/serial/uark.c (revision 211066) +++ usb/serial/uark.c (working copy) @@ -169,6 +169,7 @@ DRIVER_MODULE(uark, uhub, uark_driver, uark_devclass, NULL, 0); MODULE_DEPEND(uark, ucom, 1, 1, 1); MODULE_DEPEND(uark, usb, 1, 1, 1); +MODULE_VERSION(uark, 1); static const struct usb_device_id uark_devs[] = { {USB_VPI(USB_VENDOR_ARKMICRO, USB_PRODUCT_ARKMICRO_ARK3116, 0)}, Index: usb/serial/ufoma.c =================================================================== --- usb/serial/ufoma.c (revision 211066) +++ usb/serial/ufoma.c (working copy) @@ -326,6 +326,7 @@ DRIVER_MODULE(ufoma, uhub, ufoma_driver, ufoma_devclass, NULL, 0); MODULE_DEPEND(ufoma, ucom, 1, 1, 1); MODULE_DEPEND(ufoma, usb, 1, 1, 1); +MODULE_VERSION(ufoma, 1); static int ufoma_probe(device_t dev) Index: usb/serial/umct.c =================================================================== --- usb/serial/umct.c (revision 211066) +++ usb/serial/umct.c (working copy) @@ -219,6 +219,7 @@ DRIVER_MODULE(umct, uhub, umct_driver, umct_devclass, NULL, 0); MODULE_DEPEND(umct, ucom, 1, 1, 1); MODULE_DEPEND(umct, usb, 1, 1, 1); +MODULE_VERSION(umct, 1); static int umct_probe(device_t dev) Index: usb/serial/uftdi.c =================================================================== --- usb/serial/uftdi.c (revision 211066) +++ usb/serial/uftdi.c (working copy) @@ -205,6 +205,7 @@ DRIVER_MODULE(uftdi, uhub, uftdi_driver, uftdi_devclass, NULL, 0); MODULE_DEPEND(uftdi, ucom, 1, 1, 1); MODULE_DEPEND(uftdi, usb, 1, 1, 1); +MODULE_VERSION(uftdi, 1); static struct usb_device_id uftdi_devs[] = { #define UFTDI_DEV(v,p,t) \ Index: usb/serial/uchcom.c =================================================================== --- usb/serial/uchcom.c (revision 211066) +++ usb/serial/uchcom.c (working copy) @@ -855,3 +855,4 @@ DRIVER_MODULE(uchcom, uhub, uchcom_driver, uchcom_devclass, NULL, 0); MODULE_DEPEND(uchcom, ucom, 1, 1, 1); MODULE_DEPEND(uchcom, usb, 1, 1, 1); +MODULE_VERSION(uchcom, 1); Index: usb/serial/uipaq.c =================================================================== --- usb/serial/uipaq.c (revision 211066) +++ usb/serial/uipaq.c (working copy) @@ -1085,6 +1085,7 @@ DRIVER_MODULE(uipaq, uhub, uipaq_driver, uipaq_devclass, NULL, 0); MODULE_DEPEND(uipaq, ucom, 1, 1, 1); MODULE_DEPEND(uipaq, usb, 1, 1, 1); +MODULE_VERSION(uipaq, 1); static int uipaq_probe(device_t dev) Index: usb/serial/ubser.c =================================================================== --- usb/serial/ubser.c (revision 211066) +++ usb/serial/ubser.c (working copy) @@ -215,6 +215,7 @@ DRIVER_MODULE(ubser, uhub, ubser_driver, ubser_devclass, NULL, 0); MODULE_DEPEND(ubser, ucom, 1, 1, 1); MODULE_DEPEND(ubser, usb, 1, 1, 1); +MODULE_VERSION(ubser, 1); static int ubser_probe(device_t dev) Index: usb/serial/ugensa.c =================================================================== --- usb/serial/ugensa.c (revision 211066) +++ usb/serial/ugensa.c (working copy) @@ -153,6 +153,7 @@ DRIVER_MODULE(ugensa, uhub, ugensa_driver, ugensa_devclass, NULL, 0); MODULE_DEPEND(ugensa, ucom, 1, 1, 1); MODULE_DEPEND(ugensa, usb, 1, 1, 1); +MODULE_VERSION(ugensa, 1); static const struct usb_device_id ugensa_devs[] = { {USB_VPI(USB_VENDOR_AIRPRIME, USB_PRODUCT_AIRPRIME_PC5220, 0)}, Index: usb/serial/umoscom.c =================================================================== --- usb/serial/umoscom.c (revision 211066) +++ usb/serial/umoscom.c (working copy) @@ -279,6 +279,7 @@ DRIVER_MODULE(umoscom, uhub, umoscom_driver, umoscom_devclass, NULL, 0); MODULE_DEPEND(umoscom, ucom, 1, 1, 1); MODULE_DEPEND(umoscom, usb, 1, 1, 1); +MODULE_VERSION(umoscom, 1); static const struct usb_device_id umoscom_devs[] = { {USB_VPI(USB_VENDOR_MOSCHIP, USB_PRODUCT_MOSCHIP_MCS7703, 0)} Index: usb/serial/ulpt.c =================================================================== --- usb/serial/ulpt.c (revision 211066) +++ usb/serial/ulpt.c (working copy) @@ -745,3 +745,4 @@ DRIVER_MODULE(ulpt, uhub, ulpt_driver, ulpt_devclass, NULL, 0); MODULE_DEPEND(ulpt, usb, 1, 1, 1); MODULE_DEPEND(ulpt, ucom, 1, 1, 1); +MODULE_VERSION(ulpt, 1); Index: usb/serial/uvisor.c =================================================================== --- usb/serial/uvisor.c (revision 211066) +++ usb/serial/uvisor.c (working copy) @@ -252,6 +252,7 @@ DRIVER_MODULE(uvisor, uhub, uvisor_driver, uvisor_devclass, NULL, 0); MODULE_DEPEND(uvisor, ucom, 1, 1, 1); MODULE_DEPEND(uvisor, usb, 1, 1, 1); +MODULE_VERSION(uvisor, 1); static const struct usb_device_id uvisor_devs[] = { #define UVISOR_DEV(v,p,i) { USB_VPI(USB_VENDOR_##v, USB_PRODUCT_##v##_##p, i) } Index: usb/serial/ubsa.c =================================================================== --- usb/serial/ubsa.c (revision 211066) +++ usb/serial/ubsa.c (working copy) @@ -277,6 +277,7 @@ DRIVER_MODULE(ubsa, uhub, ubsa_driver, ubsa_devclass, NULL, 0); MODULE_DEPEND(ubsa, ucom, 1, 1, 1); MODULE_DEPEND(ubsa, usb, 1, 1, 1); +MODULE_VERSION(ubsa, 1); static int ubsa_probe(device_t dev) Index: usb/input/atp.c =================================================================== --- usb/input/atp.c (revision 211066) +++ usb/input/atp.c (working copy) @@ -2222,3 +2222,4 @@ DRIVER_MODULE(atp, uhub, atp_driver, atp_devclass, NULL, 0); MODULE_DEPEND(atp, usb, 1, 1, 1); +MODULE_VErSION(atp, 1); Index: usb/input/ums.c =================================================================== --- usb/input/ums.c (revision 211066) +++ usb/input/ums.c (working copy) @@ -1010,3 +1010,4 @@ DRIVER_MODULE(ums, uhub, ums_driver, ums_devclass, NULL, 0); MODULE_DEPEND(ums, usb, 1, 1, 1); +MODULE_VERSION(ums, 1); Index: usb/input/ukbd.c =================================================================== --- usb/input/ukbd.c (revision 211066) +++ usb/input/ukbd.c (working copy) @@ -1887,3 +1887,4 @@ DRIVER_MODULE(ukbd, uhub, ukbd_driver, ukbd_devclass, ukbd_driver_load, 0); MODULE_DEPEND(ukbd, usb, 1, 1, 1); +MODULE_VERSION(ukbd, 1); Index: usb/input/uep.c =================================================================== --- usb/input/uep.c (revision 211066) +++ usb/input/uep.c (working copy) @@ -439,3 +439,4 @@ DRIVER_MODULE(uep, uhub, uep_driver, uep_devclass, NULL, NULL); MODULE_DEPEND(uep, usb, 1, 1, 1); +MODULE_VERSION(uep, 1); Index: usb/input/uhid.c =================================================================== --- usb/input/uhid.c (revision 211066) +++ usb/input/uhid.c (working copy) @@ -801,3 +801,4 @@ DRIVER_MODULE(uhid, uhub, uhid_driver, uhid_devclass, NULL, 0); MODULE_DEPEND(uhid, usb, 1, 1, 1); +MODULE_VERSION(uhid, 1); Index: usb/storage/urio.c =================================================================== --- usb/storage/urio.c (revision 211066) +++ usb/storage/urio.c (working copy) @@ -197,6 +197,7 @@ DRIVER_MODULE(urio, uhub, urio_driver, urio_devclass, NULL, 0); MODULE_DEPEND(urio, usb, 1, 1, 1); +MODULE_VERSION(urio, 1); static int urio_probe(device_t dev) Index: usb/storage/umass.c =================================================================== --- usb/storage/umass.c (revision 211066) +++ usb/storage/umass.c (working copy) @@ -715,6 +715,7 @@ DRIVER_MODULE(umass, uhub, umass_driver, umass_devclass, NULL, 0); MODULE_DEPEND(umass, usb, 1, 1, 1); MODULE_DEPEND(umass, cam, 1, 1, 1); +MODULE_VERSION(umass, 1); /* * USB device probe/attach/detach Index: usb/usb_hub.c =================================================================== --- usb/usb_hub.c (revision 211066) +++ usb/usb_hub.c (working copy) @@ -170,6 +170,7 @@ DRIVER_MODULE(uhub, usbus, uhub_driver, uhub_devclass, 0, 0); DRIVER_MODULE(uhub, uhub, uhub_driver, uhub_devclass, NULL, 0); +MODULE_VERSION(uhub, 1); static void uhub_intr_callback(struct usb_xfer *xfer, usb_error_t error) Index: usb/net/if_kue.c =================================================================== --- usb/net/if_kue.c (revision 211066) +++ usb/net/if_kue.c (working copy) @@ -215,6 +215,7 @@ MODULE_DEPEND(kue, uether, 1, 1, 1); MODULE_DEPEND(kue, usb, 1, 1, 1); MODULE_DEPEND(kue, ether, 1, 1, 1); +MODULE_VERSION(kue, 1); static const struct usb_ether_methods kue_ue_methods = { .ue_attach_post = kue_attach_post, Index: usb/net/if_rue.c =================================================================== --- usb/net/if_rue.c (revision 211066) +++ usb/net/if_rue.c (working copy) @@ -213,6 +213,7 @@ MODULE_DEPEND(rue, usb, 1, 1, 1); MODULE_DEPEND(rue, ether, 1, 1, 1); MODULE_DEPEND(rue, miibus, 1, 1, 1); +MODULE_VERSION(rue, 1); static const struct usb_ether_methods rue_ue_methods = { .ue_attach_post = rue_attach_post, Index: usb/net/if_udav.c =================================================================== --- usb/net/if_udav.c (revision 211066) +++ usb/net/if_udav.c (working copy) @@ -172,6 +172,7 @@ MODULE_DEPEND(udav, usb, 1, 1, 1); MODULE_DEPEND(udav, ether, 1, 1, 1); MODULE_DEPEND(udav, miibus, 1, 1, 1); +MODULE_VERSION(udav, 1); static const struct usb_ether_methods udav_ue_methods = { .ue_attach_post = udav_attach_post, Index: usb/net/if_aue.c =================================================================== --- usb/net/if_aue.c (revision 211066) +++ usb/net/if_aue.c (working copy) @@ -281,6 +281,7 @@ MODULE_DEPEND(aue, usb, 1, 1, 1); MODULE_DEPEND(aue, ether, 1, 1, 1); MODULE_DEPEND(aue, miibus, 1, 1, 1); +MODULE_VERSION(aue, 1); static const struct usb_ether_methods aue_ue_methods = { .ue_attach_post = aue_attach_post, Index: usb/net/if_cue.c =================================================================== --- usb/net/if_cue.c (revision 211066) +++ usb/net/if_cue.c (working copy) @@ -173,6 +173,7 @@ MODULE_DEPEND(cue, uether, 1, 1, 1); MODULE_DEPEND(cue, usb, 1, 1, 1); MODULE_DEPEND(cue, ether, 1, 1, 1); +MODULE_VERSION(cue, 1); static const struct usb_ether_methods cue_ue_methods = { .ue_attach_post = cue_attach_post, Index: usb/net/if_axe.c =================================================================== --- usb/net/if_axe.c (revision 211066) +++ usb/net/if_axe.c (working copy) @@ -256,6 +256,7 @@ MODULE_DEPEND(axe, usb, 1, 1, 1); MODULE_DEPEND(axe, ether, 1, 1, 1); MODULE_DEPEND(axe, miibus, 1, 1, 1); +MODULE_VERSION(axe, 1); static const struct usb_ether_methods axe_ue_methods = { .ue_attach_post = axe_attach_post, Index: usb/misc/ufm.c =================================================================== --- usb/misc/ufm.c (revision 211066) +++ usb/misc/ufm.c (working copy) @@ -117,6 +117,7 @@ DRIVER_MODULE(ufm, uhub, ufm_driver, ufm_devclass, NULL, 0); MODULE_DEPEND(ufm, usb, 1, 1, 1); +MODULE_VERSION(ufm, 1); static int ufm_probe(device_t dev) Index: usb/misc/udbp.c =================================================================== --- usb/misc/udbp.c (revision 211066) +++ usb/misc/udbp.c (working copy) @@ -261,6 +261,7 @@ DRIVER_MODULE(udbp, uhub, udbp_driver, udbp_devclass, udbp_modload, 0); MODULE_DEPEND(udbp, netgraph, NG_ABI_VERSION, NG_ABI_VERSION, NG_ABI_VERSION); MODULE_DEPEND(udbp, usb, 1, 1, 1); +MODULE_VERSION(udbp, 1); static int udbp_modload(module_t mod, int event, void *data) Index: usb/usb_compat_linux.c =================================================================== --- usb/usb_compat_linux.c (revision 211066) +++ usb/usb_compat_linux.c (working copy) @@ -122,6 +122,7 @@ static devclass_t usb_linux_devclass; DRIVER_MODULE(usb_linux, uhub, usb_linux_driver, usb_linux_devclass, NULL, 0); +MODULE_VERSION(usb_linux, 1); /*------------------------------------------------------------------------* * usb_linux_lookup_id Index: usb/wlan/if_uath.c =================================================================== --- usb/wlan/if_uath.c (revision 211066) +++ usb/wlan/if_uath.c (working copy) @@ -2892,3 +2892,4 @@ DRIVER_MODULE(uath, uhub, uath_driver, uath_devclass, NULL, 0); MODULE_DEPEND(uath, wlan, 1, 1, 1); MODULE_DEPEND(uath, usb, 1, 1, 1); +MODULE_VERSION(uath, 1); Index: usb/wlan/if_urtw.c =================================================================== --- usb/wlan/if_urtw.c (revision 211066) +++ usb/wlan/if_urtw.c (working copy) @@ -4441,3 +4441,4 @@ DRIVER_MODULE(urtw, uhub, urtw_driver, urtw_devclass, NULL, 0); MODULE_DEPEND(urtw, wlan, 1, 1, 1); MODULE_DEPEND(urtw, usb, 1, 1, 1); +MODULE_VERSION(urtw, 1); Index: usb/wlan/if_rum.c =================================================================== --- usb/wlan/if_rum.c (revision 211066) +++ usb/wlan/if_rum.c (working copy) @@ -139,9 +139,6 @@ #undef RUM_DEV }; -MODULE_DEPEND(rum, wlan, 1, 1, 1); -MODULE_DEPEND(rum, usb, 1, 1, 1); - static device_probe_t rum_match; static device_attach_t rum_attach; static device_detach_t rum_detach; @@ -2359,3 +2356,6 @@ static devclass_t rum_devclass; DRIVER_MODULE(rum, uhub, rum_driver, rum_devclass, NULL, 0); +MODULE_DEPEND(rum, wlan, 1, 1, 1); +MODULE_DEPEND(rum, usb, 1, 1, 1); +MODULE_VERSION(rum, 1); Index: usb/wlan/if_ural.c =================================================================== --- usb/wlan/if_ural.c (revision 211066) +++ usb/wlan/if_ural.c (working copy) @@ -400,6 +400,7 @@ DRIVER_MODULE(ural, uhub, ural_driver, ural_devclass, NULL, 0); MODULE_DEPEND(ural, usb, 1, 1, 1); MODULE_DEPEND(ural, wlan, 1, 1, 1); +MODULE_VERSION(ural, 1); static int ural_match(device_t self) Index: usb/wlan/if_run.c =================================================================== --- usb/wlan/if_run.c (revision 211066) +++ usb/wlan/if_run.c (working copy) @@ -294,10 +294,6 @@ #undef RUN_DEV }; -MODULE_DEPEND(run, wlan, 1, 1, 1); -MODULE_DEPEND(run, usb, 1, 1, 1); -MODULE_DEPEND(run, firmware, 1, 1, 1); - static device_probe_t run_match; static device_attach_t run_attach; static device_detach_t run_detach; @@ -4870,3 +4866,7 @@ static devclass_t run_devclass; DRIVER_MODULE(run, uhub, run_driver, run_devclass, NULL, 0); +MODULE_DEPEND(run, wlan, 1, 1, 1); +MODULE_DEPEND(run, usb, 1, 1, 1); +MODULE_DEPEND(run, firmware, 1, 1, 1); +MODULE_VERSION(run, 1); Index: usb/wlan/if_zyd.c =================================================================== --- usb/wlan/if_zyd.c (revision 211066) +++ usb/wlan/if_zyd.c (working copy) @@ -2947,3 +2947,4 @@ DRIVER_MODULE(zyd, uhub, zyd_driver, zyd_devclass, NULL, 0); MODULE_DEPEND(zyd, usb, 1, 1, 1); MODULE_DEPEND(zyd, wlan, 1, 1, 1); +MODULE_VERSION(zyd, 1); --X1bOJ3K7DJ5YkBrT-- _______________________________________________ freebsd-usb@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"