diff options
| author | augustss <augustss@NetBSD.org> | 2005-05-11 10:02:28 +0000 |
|---|---|---|
| committer | augustss <augustss@NetBSD.org> | 2005-05-11 10:02:28 +0000 |
| commit | 834327c847f2fbda7bc0a66ab9b03bfe430e8a5b (patch) | |
| tree | deca746ed0890be66b11d1451a397a635406dcc6 /sys/dev | |
| parent | 2cf84fc2837719ec5e41a418e0391deabb396753 (diff) | |
Don't keep the devinfo string on the stack, instead use malloc/free.
This should cure some rare stack overflows.
Diffstat (limited to 'sys/dev')
36 files changed, 236 insertions, 183 deletions
diff --git a/sys/dev/usb/if_atu.c b/sys/dev/usb/if_atu.c index 9c77209d4bf..7cd3d0051f6 100644 --- a/sys/dev/usb/if_atu.c +++ b/sys/dev/usb/if_atu.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_atu.c,v 1.10 2005/03/03 09:23:24 itojun Exp $ */ +/* $NetBSD: if_atu.c,v 1.11 2005/05/11 10:02:28 augustss Exp $ */ /* $OpenBSD: if_atu.c,v 1.48 2004/12/30 01:53:21 dlg Exp $ */ /* * Copyright (c) 2003, 2004 @@ -48,7 +48,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_atu.c,v 1.10 2005/03/03 09:23:24 itojun Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_atu.c,v 1.11 2005/05/11 10:02:28 augustss Exp $"); #include "bpfilter.h" @@ -1157,7 +1157,7 @@ atu_newstate(struct ieee80211com *ic, enum ieee80211_state nstate, int arg) USB_ATTACH(atu) { USB_ATTACH_START(atu, sc, uaa); - char devinfo[1024]; + char *devinfop; usbd_status err; usbd_device_handle dev = uaa->device; u_int8_t mode, channel; @@ -1165,9 +1165,10 @@ USB_ATTACH(atu) sc->sc_state = ATU_S_UNCONFIG; - usbd_devinfo(uaa->device, 0, devinfo, sizeof devinfo); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->atu_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->atu_dev), devinfop); + usbd_devinfo_free(devinfop); err = usbd_set_config_no(dev, ATU_CONFIG_NO, 1); if (err) { diff --git a/sys/dev/usb/if_aue.c b/sys/dev/usb/if_aue.c index 0d9f25d4fb7..148ab36cad7 100644 --- a/sys/dev/usb/if_aue.c +++ b/sys/dev/usb/if_aue.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_aue.c,v 1.89 2004/11/03 22:59:31 rjs Exp $ */ +/* $NetBSD: if_aue.c,v 1.90 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 1997, 1998, 1999, 2000 * Bill Paul <wpaul@ee.columbia.edu>. All rights reserved. @@ -77,7 +77,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_aue.c,v 1.89 2004/11/03 22:59:31 rjs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_aue.c,v 1.90 2005/05/11 10:02:28 augustss Exp $"); #if defined(__NetBSD__) #include "opt_inet.h" @@ -722,7 +722,7 @@ USB_MATCH(aue) USB_ATTACH(aue) { USB_ATTACH_START(aue, sc, uaa); - char devinfo[1024]; + char *devinfop; int s; u_char eaddr[ETHER_ADDR_LEN]; struct ifnet *ifp; @@ -736,9 +736,10 @@ USB_ATTACH(aue) DPRINTFN(5,(" : aue_attach: sc=%p", sc)); - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(uaa->device, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->aue_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->aue_dev), devinfop); + usbd_devinfo_free(devinfop); err = usbd_set_config_no(dev, AUE_CONFIG_NO, 1); if (err) { diff --git a/sys/dev/usb/if_axe.c b/sys/dev/usb/if_axe.c index 2107ad9c43c..6c14acfb0a9 100644 --- a/sys/dev/usb/if_axe.c +++ b/sys/dev/usb/if_axe.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_axe.c,v 1.7 2005/02/27 00:27:51 perry Exp $ */ +/* $NetBSD: if_axe.c,v 1.8 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 1997, 1998, 1999, 2000-2003 @@ -73,7 +73,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_axe.c,v 1.7 2005/02/27 00:27:51 perry Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_axe.c,v 1.8 2005/05/11 10:02:28 augustss Exp $"); #if defined(__NetBSD__) #include "opt_inet.h" @@ -450,12 +450,12 @@ USB_ATTACH(axe) usb_endpoint_descriptor_t *ed; struct mii_data *mii; u_char eaddr[ETHER_ADDR_LEN]; - char devinfo[1024]; + char *devinfop; char *devname = USBDEVNAME(sc->axe_dev); struct ifnet *ifp; int i, s; - usbd_devinfo(dev, 0, devinfo, sizeof devinfo); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; err = usbd_set_config_no(dev, AXE_CONFIG_NO, 1); @@ -482,7 +482,8 @@ USB_ATTACH(axe) id = usbd_get_interface_descriptor(sc->axe_iface); - printf("%s: %s\n", USBDEVNAME(sc->axe_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->axe_dev), devinfop); + usbd_devinfo_free(devinfop); /* Find endpoints. */ for (i = 0; i < id->bNumEndpoints; i++) { diff --git a/sys/dev/usb/if_cdce.c b/sys/dev/usb/if_cdce.c index 580deb950c7..aeaafab976e 100644 --- a/sys/dev/usb/if_cdce.c +++ b/sys/dev/usb/if_cdce.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_cdce.c,v 1.5 2005/05/02 15:32:18 augustss Exp $ */ +/* $NetBSD: if_cdce.c,v 1.6 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 1997, 1998, 1999, 2000-2003 Bill Paul <wpaul@windriver.com> @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_cdce.c,v 1.5 2005/05/02 15:32:18 augustss Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_cdce.c,v 1.6 2005/05/11 10:02:28 augustss Exp $"); #include "bpfilter.h" #include <sys/param.h> @@ -155,7 +155,7 @@ USB_MATCH(cdce) USB_ATTACH(cdce) { USB_ATTACH_START(cdce, sc, uaa); - char devinfo[1024]; + char *devinfop; int s; struct ifnet *ifp; usbd_device_handle dev = uaa->device; @@ -169,9 +169,10 @@ USB_ATTACH(cdce) const usb_cdc_ethernet_descriptor_t *ue; char eaddr_str[USB_MAX_ENCODED_STRING_LEN]; - usbd_devinfo(dev, 0, devinfo, sizeof devinfo); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->cdce_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->cdce_dev), devinfop); + usbd_devinfo_free(devinfop); sc->cdce_udev = uaa->device; sc->cdce_ctl_iface = uaa->iface; diff --git a/sys/dev/usb/if_cue.c b/sys/dev/usb/if_cue.c index f20f1d5065b..a1f14e7e046 100644 --- a/sys/dev/usb/if_cue.c +++ b/sys/dev/usb/if_cue.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_cue.c,v 1.42 2005/01/08 03:16:51 yamt Exp $ */ +/* $NetBSD: if_cue.c,v 1.43 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 1997, 1998, 1999, 2000 * Bill Paul <wpaul@ee.columbia.edu>. All rights reserved. @@ -56,7 +56,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_cue.c,v 1.42 2005/01/08 03:16:51 yamt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_cue.c,v 1.43 2005/05/11 10:02:28 augustss Exp $"); #if defined(__NetBSD__) #include "opt_inet.h" @@ -484,7 +484,7 @@ USB_MATCH(cue) USB_ATTACH(cue) { USB_ATTACH_START(cue, sc, uaa); - char devinfo[1024]; + char *devinfop; int s; u_char eaddr[ETHER_ADDR_LEN]; usbd_device_handle dev = uaa->device; @@ -497,9 +497,10 @@ USB_ATTACH(cue) DPRINTFN(5,(" : cue_attach: sc=%p, dev=%p", sc, dev)); - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->cue_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->cue_dev), devinfop); + usbd_devinfo_free(devinfop); err = usbd_set_config_no(dev, CUE_CONFIG_NO, 1); if (err) { diff --git a/sys/dev/usb/if_kue.c b/sys/dev/usb/if_kue.c index 7cdb369e2f5..0916628d179 100644 --- a/sys/dev/usb/if_kue.c +++ b/sys/dev/usb/if_kue.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_kue.c,v 1.52 2004/10/22 09:41:01 augustss Exp $ */ +/* $NetBSD: if_kue.c,v 1.53 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 1997, 1998, 1999, 2000 * Bill Paul <wpaul@ee.columbia.edu>. All rights reserved. @@ -70,7 +70,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_kue.c,v 1.52 2004/10/22 09:41:01 augustss Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_kue.c,v 1.53 2005/05/11 10:02:28 augustss Exp $"); #if defined(__NetBSD__) #include "opt_inet.h" @@ -420,7 +420,7 @@ USB_MATCH(kue) USB_ATTACH(kue) { USB_ATTACH_START(kue, sc, uaa); - char devinfo[1024]; + char *devinfop; int s; struct ifnet *ifp; usbd_device_handle dev = uaa->device; @@ -432,9 +432,10 @@ USB_ATTACH(kue) DPRINTFN(5,(" : kue_attach: sc=%p, dev=%p", sc, dev)); - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->kue_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->kue_dev), devinfop); + usbd_devinfo_free(devinfop); err = usbd_set_config_no(dev, KUE_CONFIG_NO, 1); if (err) { diff --git a/sys/dev/usb/if_udav.c b/sys/dev/usb/if_udav.c index 2476c552582..aeeba6f2d53 100644 --- a/sys/dev/usb/if_udav.c +++ b/sys/dev/usb/if_udav.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_udav.c,v 1.5 2005/02/27 00:27:51 perry Exp $ */ +/* $NetBSD: if_udav.c,v 1.6 2005/05/11 10:02:28 augustss Exp $ */ /* $nabe: if_udav.c,v 1.3 2003/08/21 16:57:19 nabe Exp $ */ /* * Copyright (c) 2003 @@ -44,7 +44,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_udav.c,v 1.5 2005/02/27 00:27:51 perry Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_udav.c,v 1.6 2005/05/11 10:02:28 augustss Exp $"); #include "opt_inet.h" #include "opt_ns.h" @@ -186,16 +186,17 @@ USB_ATTACH(udav) usbd_status err; usb_interface_descriptor_t *id; usb_endpoint_descriptor_t *ed; - char devinfo[1024]; + char *devinfop; char *devname = USBDEVNAME(sc->sc_dev); struct ifnet *ifp; struct mii_data *mii; u_char eaddr[ETHER_ADDR_LEN]; int i, s; - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", devname, devinfo); + printf("%s: %s\n", devname, devinfop); + usbd_devinfo_free(devinfop); /* Move the device into the configured state. */ err = usbd_set_config_no(dev, UDAV_CONFIG_NO, 1); diff --git a/sys/dev/usb/if_upl.c b/sys/dev/usb/if_upl.c index 768a3809af9..0b83e9fc82b 100644 --- a/sys/dev/usb/if_upl.c +++ b/sys/dev/usb/if_upl.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_upl.c,v 1.21 2004/12/06 02:59:23 christos Exp $ */ +/* $NetBSD: if_upl.c,v 1.22 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 2000 The NetBSD Foundation, Inc. * All rights reserved. @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_upl.c,v 1.21 2004/12/06 02:59:23 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_upl.c,v 1.22 2005/05/11 10:02:28 augustss Exp $"); #include "opt_inet.h" #include "opt_ns.h" @@ -233,7 +233,7 @@ USB_MATCH(upl) USB_ATTACH(upl) { USB_ATTACH_START(upl, sc, uaa); - char devinfo[1024]; + char *devinfop; int s; usbd_device_handle dev = uaa->device; usbd_interface_handle iface; @@ -245,9 +245,10 @@ USB_ATTACH(upl) DPRINTFN(5,(" : upl_attach: sc=%p, dev=%p", sc, dev)); - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfop); + usbd_devinfo_free(devinfop); err = usbd_set_config_no(dev, UPL_CONFIG_NO, 1); if (err) { diff --git a/sys/dev/usb/if_url.c b/sys/dev/usb/if_url.c index 1f5d80bdae6..426cb4eafa6 100644 --- a/sys/dev/usb/if_url.c +++ b/sys/dev/usb/if_url.c @@ -1,4 +1,4 @@ -/* $NetBSD: if_url.c,v 1.15 2005/03/03 08:10:01 itojun Exp $ */ +/* $NetBSD: if_url.c,v 1.16 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 2001, 2002 * Shingo WATANABE <nabe@nabechan.org>. All rights reserved. @@ -43,7 +43,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_url.c,v 1.15 2005/03/03 08:10:01 itojun Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_url.c,v 1.16 2005/05/11 10:02:28 augustss Exp $"); #include "opt_inet.h" #include "opt_ns.h" @@ -190,16 +190,17 @@ USB_ATTACH(url) usbd_status err; usb_interface_descriptor_t *id; usb_endpoint_descriptor_t *ed; - char devinfo[1024]; + char *devinfop; char *devname = USBDEVNAME(sc->sc_dev); struct ifnet *ifp; struct mii_data *mii; u_char eaddr[ETHER_ADDR_LEN]; int i, s; - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", devname, devinfo); + printf("%s: %s\n", devname, devinfop); + usbd_devinfo_free(devinfop); /* Move the device into the configured state. */ err = usbd_set_config_no(dev, URL_CONFIG_NO, 1); diff --git a/sys/dev/usb/uaudio.c b/sys/dev/usb/uaudio.c index ef62aa9245c..1c06cb7dccf 100644 --- a/sys/dev/usb/uaudio.c +++ b/sys/dev/usb/uaudio.c @@ -1,4 +1,4 @@ -/* $NetBSD: uaudio.c,v 1.97 2005/02/24 08:19:38 martin Exp $ */ +/* $NetBSD: uaudio.c,v 1.98 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -44,7 +44,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uaudio.c,v 1.97 2005/02/24 08:19:38 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uaudio.c,v 1.98 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -388,12 +388,13 @@ USB_ATTACH(uaudio) USB_ATTACH_START(uaudio, sc, uaa); usb_interface_descriptor_t *id; usb_config_descriptor_t *cdesc; - char devinfo[1024]; + char *devinfop; usbd_status err; int i, j, found; - usbd_devinfo(uaa->device, 0, devinfo, sizeof(devinfo)); - printf(": %s\n", devinfo); + devinfop = usbd_devinfo_alloc(uaa->device, 0); + printf(": %s\n", devinfop); + usbd_devinfo_free(devinfop); sc->sc_udev = uaa->device; diff --git a/sys/dev/usb/ubsa.c b/sys/dev/usb/ubsa.c index 8a5b0367c4e..5a8965f4639 100644 --- a/sys/dev/usb/ubsa.c +++ b/sys/dev/usb/ubsa.c @@ -1,4 +1,4 @@ -/* $NetBSD: ubsa.c,v 1.11 2004/11/08 13:00:07 augustss Exp $ */ +/* $NetBSD: ubsa.c,v 1.12 2005/05/11 10:02:28 augustss Exp $ */ /*- * Copyright (c) 2002, Alexander Kabaev <kan.FreeBSD.org>. * All rights reserved. @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ubsa.c,v 1.11 2004/11/08 13:00:07 augustss Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ubsa.c,v 1.12 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -255,15 +255,16 @@ USB_ATTACH(ubsa) usb_config_descriptor_t *cdesc; usb_interface_descriptor_t *id; usb_endpoint_descriptor_t *ed; - char devinfo[1024]; + char *devinfop; const char *devname = USBDEVNAME(sc->sc_dev); usbd_status err; struct ucom_attach_args uca; int i; - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); - USB_ATTACH_SETUP; - printf("%s: %s\n", devname, devinfo); + devinfop = usbd_devinfo_alloc(dev, 0); + USB_ATTACH_SETUP; + printf("%s: %s\n", devname, devinfop); + usbd_devinfo_free(devinfop); sc->sc_udev = dev; @@ -274,8 +275,6 @@ USB_ATTACH(ubsa) sc->sc_dtr = -1; sc->sc_rts = -1; - printf("%s: %s\n", devname, devinfo); - DPRINTF(("ubsa attach: sc = %p\n", sc)); /* initialize endpoints */ diff --git a/sys/dev/usb/ubt.c b/sys/dev/usb/ubt.c index 01c93ca120a..d20ad88913f 100644 --- a/sys/dev/usb/ubt.c +++ b/sys/dev/usb/ubt.c @@ -1,4 +1,4 @@ -/* $NetBSD: ubt.c,v 1.11 2004/04/23 17:25:25 itojun Exp $ */ +/* $NetBSD: ubt.c,v 1.12 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 2002, 2003 The NetBSD Foundation, Inc. @@ -38,7 +38,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ubt.c,v 1.11 2004/04/23 17:25:25 itojun Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ubt.c,v 1.12 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -165,16 +165,17 @@ USB_ATTACH(ubt) usbd_interface_handle iface = uaa->iface; struct bt_attach_args bt; usb_interface_descriptor_t const *id; - char devinfo[1024]; + char *devinfop; usb_endpoint_descriptor_t const *ed; u_int8_t epcount; int i; DPRINTFN(10,("ubt_attach: sc=%p\n", sc)); - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfop); + usbd_devinfo_free(devinfop); sc->sc_udev = dev; sc->sc_ctl_iface = iface; diff --git a/sys/dev/usb/ubtbcmfw.c b/sys/dev/usb/ubtbcmfw.c index 99b2ef67a43..c456f6028af 100644 --- a/sys/dev/usb/ubtbcmfw.c +++ b/sys/dev/usb/ubtbcmfw.c @@ -1,4 +1,4 @@ -/* $NetBSD: ubtbcmfw.c,v 1.9 2004/09/17 14:11:24 skrll Exp $ */ +/* $NetBSD: ubtbcmfw.c,v 1.10 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ubtbcmfw.c,v 1.9 2004/09/17 14:11:24 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ubtbcmfw.c,v 1.10 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -107,16 +107,17 @@ USB_ATTACH(ubtbcmfw) usbd_device_handle dev = uaa->device; usbd_interface_handle iface; usbd_status err; - char devinfo[1024]; + char *devinfop; char name[256]; char buf[16]; usbd_pipe_handle intr_in_pipe; usbd_pipe_handle bulk_out_pipe; uint n; - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfop); + usbd_devinfo_free(devinfop); err = usbd_set_config_no(dev, CONFIG_NO, 1); if (err) { diff --git a/sys/dev/usb/udsbr.c b/sys/dev/usb/udsbr.c index ad7af3efa60..4ca934e6910 100644 --- a/sys/dev/usb/udsbr.c +++ b/sys/dev/usb/udsbr.c @@ -1,4 +1,4 @@ -/* $NetBSD: udsbr.c,v 1.9 2004/10/29 12:57:26 yamt Exp $ */ +/* $NetBSD: udsbr.c,v 1.10 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -45,7 +45,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: udsbr.c,v 1.9 2004/10/29 12:57:26 yamt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: udsbr.c,v 1.10 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -124,14 +124,15 @@ USB_ATTACH(udsbr) { USB_ATTACH_START(udsbr, sc, uaa); usbd_device_handle dev = uaa->device; - char devinfo[1024]; + char *devinfop; usbd_status err; DPRINTFN(10,("udsbr_attach: sc=%p\n", sc)); - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfop); + usbd_devinfo_free(devinfop); err = usbd_set_config_no(dev, UDSBR_CONFIG_NO, 1); if (err) { diff --git a/sys/dev/usb/uep.c b/sys/dev/usb/uep.c index 454aa54c658..bd76456fe54 100644 --- a/sys/dev/usb/uep.c +++ b/sys/dev/usb/uep.c @@ -1,4 +1,4 @@ -/* $NetBSD: uep.c,v 1.3 2005/02/27 00:27:51 perry Exp $ */ +/* $NetBSD: uep.c,v 1.4 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 2004 The NetBSD Foundation, Inc. @@ -45,7 +45,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uep.c,v 1.3 2005/02/27 00:27:51 perry Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uep.c,v 1.4 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -133,15 +133,14 @@ USB_ATTACH(uep) usb_interface_descriptor_t *id; usb_endpoint_descriptor_t *ed; struct wsmousedev_attach_args a; - char devinfo[1024]; + char *devinfop; usbd_status err; int i, found; - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); - + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - - printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfop); + usbd_devinfo_free(devinfop); sc->sc_udev = dev; sc->sc_intr_number = -1; diff --git a/sys/dev/usb/uftdi.c b/sys/dev/usb/uftdi.c index 11a3da9e899..10bda02d3bf 100644 --- a/sys/dev/usb/uftdi.c +++ b/sys/dev/usb/uftdi.c @@ -1,4 +1,4 @@ -/* $NetBSD: uftdi.c,v 1.23 2004/11/05 13:53:29 scw Exp $ */ +/* $NetBSD: uftdi.c,v 1.24 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -46,7 +46,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uftdi.c,v 1.23 2004/11/05 13:53:29 scw Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uftdi.c,v 1.24 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -159,7 +159,7 @@ USB_ATTACH(uftdi) usbd_interface_handle iface; usb_interface_descriptor_t *id; usb_endpoint_descriptor_t *ed; - char devinfo[1024]; + char *devinfop; char *devname = USBDEVNAME(sc->sc_dev); int i; usbd_status err; @@ -182,9 +182,10 @@ USB_ATTACH(uftdi) goto bad; } - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", devname, devinfo); + printf("%s: %s\n", devname, devinfop); + usbd_devinfo_free(devinfop); id = usbd_get_interface_descriptor(iface); diff --git a/sys/dev/usb/ugen.c b/sys/dev/usb/ugen.c index 78adc56b1f8..ad85b24b8a1 100644 --- a/sys/dev/usb/ugen.c +++ b/sys/dev/usb/ugen.c @@ -1,4 +1,4 @@ -/* $NetBSD: ugen.c,v 1.71 2005/03/02 11:37:27 mycroft Exp $ */ +/* $NetBSD: ugen.c,v 1.72 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 1998, 2004 The NetBSD Foundation, Inc. @@ -39,7 +39,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ugen.c,v 1.71 2005/03/02 11:37:27 mycroft Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ugen.c,v 1.72 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -202,13 +202,14 @@ USB_ATTACH(ugen) { USB_ATTACH_START(ugen, sc, uaa); usbd_device_handle udev; - char devinfo[1024]; + char *devinfop; usbd_status err; int conf; - usbd_devinfo(uaa->device, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(uaa->device, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfop); + usbd_devinfo_free(devinfop); sc->sc_udev = udev = uaa->device; diff --git a/sys/dev/usb/ugensa.c b/sys/dev/usb/ugensa.c index 51b0dd3693c..0dfc5165f63 100644 --- a/sys/dev/usb/ugensa.c +++ b/sys/dev/usb/ugensa.c @@ -1,4 +1,4 @@ -/* $NetBSD: ugensa.c,v 1.2 2005/01/23 01:25:57 elric Exp $ */ +/* $NetBSD: ugensa.c,v 1.3 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 2004, 2005 The NetBSD Foundation, Inc. @@ -118,7 +118,7 @@ USB_ATTACH(ugensa) usbd_interface_handle iface; usb_interface_descriptor_t *id; usb_endpoint_descriptor_t *ed; - char devinfo[1024]; + char *devinfop; char *devname = USBDEVNAME(sc->sc_dev); usbd_status err; struct ucom_attach_args uca; @@ -141,9 +141,10 @@ USB_ATTACH(ugensa) goto bad; } - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", devname, devinfo); + printf("%s: %s\n", devname, devinfop); + usbd_devinfo_free(devinfop); id = usbd_get_interface_descriptor(iface); diff --git a/sys/dev/usb/uhidev.c b/sys/dev/usb/uhidev.c index 084f8f18ae9..2feba97188c 100644 --- a/sys/dev/usb/uhidev.c +++ b/sys/dev/usb/uhidev.c @@ -1,4 +1,4 @@ -/* $NetBSD: uhidev.c,v 1.25 2005/05/08 06:19:10 skrll Exp $ */ +/* $NetBSD: uhidev.c,v 1.26 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -42,7 +42,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uhidev.c,v 1.25 2005/05/08 06:19:10 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uhidev.c,v 1.26 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -116,17 +116,19 @@ USB_ATTACH(uhidev) void *desc; const void *descptr; usbd_status err; - char devinfo[1024]; + char *devinfop; int help[2]; locdesc_t *ldesc = (void *)help; /* XXX */ sc->sc_udev = uaa->device; sc->sc_iface = iface; id = usbd_get_interface_descriptor(iface); - usbd_devinfo(uaa->device, 0, devinfo, sizeof(devinfo)); + + devinfop = usbd_devinfo_alloc(uaa->device, 0); USB_ATTACH_SETUP; printf("%s: %s, iclass %d/%d\n", USBDEVNAME(sc->sc_dev), - devinfo, id->bInterfaceClass, id->bInterfaceSubClass); + devinfop, id->bInterfaceClass, id->bInterfaceSubClass); + usbd_devinfo_free(devinfop); (void)usbd_set_idle(iface, 0, 0); #if 0 diff --git a/sys/dev/usb/uhub.c b/sys/dev/usb/uhub.c index 8611d22d33e..e99d5eb453f 100644 --- a/sys/dev/usb/uhub.c +++ b/sys/dev/usb/uhub.c @@ -1,4 +1,4 @@ -/* $NetBSD: uhub.c,v 1.75 2005/04/30 20:54:13 augustss Exp $ */ +/* $NetBSD: uhub.c,v 1.76 2005/05/11 10:02:28 augustss Exp $ */ /* $FreeBSD: src/sys/dev/usb/uhub.c,v 1.18 1999/11/17 22:33:43 n_hibma Exp $ */ /* @@ -43,7 +43,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uhub.c,v 1.75 2005/04/30 20:54:13 augustss Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uhub.c,v 1.76 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -148,7 +148,7 @@ USB_ATTACH(uhub) { USB_ATTACH_START(uhub, sc, uaa); usbd_device_handle dev = uaa->device; - char devinfo[1024]; + char *devinfop; usbd_status err; struct usbd_hub *hub = NULL; usb_device_request_t req; @@ -160,9 +160,11 @@ USB_ATTACH(uhub) DPRINTFN(1,("uhub_attach\n")); sc->sc_hub = dev; - usbd_devinfo(dev, 1, devinfo, sizeof(devinfo)); + + devinfop = usbd_devinfo_alloc(dev, 1); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfop); + usbd_devinfo_free(devinfop); if (dev->depth > 0 && UHUB_IS_HIGH_SPEED(sc)) { printf("%s: %s transaction translator%s\n", diff --git a/sys/dev/usb/uirda.c b/sys/dev/usb/uirda.c index e56a70765f3..ba06aaabffd 100644 --- a/sys/dev/usb/uirda.c +++ b/sys/dev/usb/uirda.c @@ -1,4 +1,4 @@ -/* $NetBSD: uirda.c,v 1.18 2004/10/23 13:28:26 augustss Exp $ */ +/* $NetBSD: uirda.c,v 1.19 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uirda.c,v 1.18 2004/10/23 13:28:26 augustss Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uirda.c,v 1.19 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -291,7 +291,7 @@ USB_ATTACH(uirda) USB_ATTACH_START(uirda, sc, uaa); usbd_device_handle dev = uaa->device; usbd_interface_handle iface = uaa->iface; - char devinfo[1024]; + char *devinfop; usb_endpoint_descriptor_t *ed; usbd_status err; u_int8_t epcount; @@ -301,9 +301,10 @@ USB_ATTACH(uirda) DPRINTFN(10,("uirda_attach: sc=%p\n", sc)); - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfop); + usbd_devinfo_free(devinfop); sc->sc_udev = dev; sc->sc_iface = iface; diff --git a/sys/dev/usb/ulpt.c b/sys/dev/usb/ulpt.c index 5707848b46d..5d3b7f7e099 100644 --- a/sys/dev/usb/ulpt.c +++ b/sys/dev/usb/ulpt.c @@ -1,4 +1,4 @@ -/* $NetBSD: ulpt.c,v 1.66 2005/02/27 00:27:51 perry Exp $ */ +/* $NetBSD: ulpt.c,v 1.67 2005/05/11 10:02:28 augustss Exp $ */ /* $FreeBSD: src/sys/dev/usb/ulpt.c,v 1.24 1999/11/17 22:33:44 n_hibma Exp $ */ /* @@ -43,7 +43,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ulpt.c,v 1.66 2005/02/27 00:27:51 perry Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ulpt.c,v 1.67 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -224,17 +224,19 @@ USB_ATTACH(ulpt) usb_interface_descriptor_t *ifcd = usbd_get_interface_descriptor(iface); usb_interface_descriptor_t *id; usbd_status err; - char devinfo[1024]; + char *devinfop; usb_endpoint_descriptor_t *ed; u_int8_t epcount; int i, altno; usbd_desc_iter_t iter; DPRINTFN(10,("ulpt_attach: sc=%p\n", sc)); - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; printf("%s: %s, iclass %d/%d\n", USBDEVNAME(sc->sc_dev), - devinfo, ifcd->bInterfaceClass, ifcd->bInterfaceSubClass); + devinfop, ifcd->bInterfaceClass, ifcd->bInterfaceSubClass); + usbd_devinfo_free(devinfop); /* Loop through descriptors looking for a bidir mode. */ usb_desc_iter_init(dev, &iter); diff --git a/sys/dev/usb/umass.c b/sys/dev/usb/umass.c index a461cc23eb9..ebb49a2bdc1 100644 --- a/sys/dev/usb/umass.c +++ b/sys/dev/usb/umass.c @@ -1,4 +1,4 @@ -/* $NetBSD: umass.c,v 1.117 2004/12/28 23:35:21 nathanw Exp $ */ +/* $NetBSD: umass.c,v 1.118 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -131,7 +131,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: umass.c,v 1.117 2004/12/28 23:35:21 nathanw Exp $"); +__KERNEL_RCSID(0, "$NetBSD: umass.c,v 1.118 2005/05/11 10:02:28 augustss Exp $"); #include "atapibus.h" #include "scsibus.h" @@ -305,12 +305,14 @@ USB_ATTACH(umass) usb_interface_descriptor_t *id; usb_endpoint_descriptor_t *ed; const char *sWire, *sCommand; - char devinfo[1024]; + char *devinfop; usbd_status err; int i, bno, error; - usbd_devinfo(uaa->device, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(uaa->device, 0); USB_ATTACH_SETUP; + printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfop); + usbd_devinfo_free(devinfop); sc->sc_udev = uaa->device; sc->sc_iface = uaa->iface; @@ -382,8 +384,6 @@ USB_ATTACH(umass) } } - printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); - switch (sc->sc_wire) { case UMASS_WPROTO_CBI: sWire = "CBI"; diff --git a/sys/dev/usb/umct.c b/sys/dev/usb/umct.c index 0498a5c1e43..43c3839a74e 100644 --- a/sys/dev/usb/umct.c +++ b/sys/dev/usb/umct.c @@ -1,4 +1,4 @@ -/* $NetBSD: umct.c,v 1.15 2004/09/13 12:55:49 drochner Exp $ */ +/* $NetBSD: umct.c,v 1.16 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 2001 The NetBSD Foundation, Inc. * All rights reserved. @@ -42,7 +42,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: umct.c,v 1.15 2004/09/13 12:55:49 drochner Exp $"); +__KERNEL_RCSID(0, "$NetBSD: umct.c,v 1.16 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -177,15 +177,16 @@ USB_ATTACH(umct) usb_interface_descriptor_t *id; usb_endpoint_descriptor_t *ed; - char devinfo[1024]; + char *devinfop; char *devname = USBDEVNAME(sc->sc_dev); usbd_status err; int i; struct ucom_attach_args uca; - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); - USB_ATTACH_SETUP; - printf("%s: %s\n", devname, devinfo); + devinfop = usbd_devinfo_alloc(dev, 0); + USB_ATTACH_SETUP; + printf("%s: %s\n", devname, devinfop); + usbd_devinfo_free(devinfop); sc->sc_udev = dev; sc->sc_product = uaa->product; diff --git a/sys/dev/usb/umidi.c b/sys/dev/usb/umidi.c index f08862ba1e5..d919de74e53 100644 --- a/sys/dev/usb/umidi.c +++ b/sys/dev/usb/umidi.c @@ -1,4 +1,4 @@ -/* $NetBSD: umidi.c,v 1.22 2004/10/29 12:57:26 yamt Exp $ */ +/* $NetBSD: umidi.c,v 1.23 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 2001 The NetBSD Foundation, Inc. * All rights reserved. @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: umidi.c,v 1.22 2004/10/29 12:57:26 yamt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: umidi.c,v 1.23 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -164,12 +164,13 @@ USB_ATTACH(umidi) { usbd_status err; USB_ATTACH_START(umidi, sc, uaa); - char devinfo[1024]; + char *devinfop; DPRINTFN(1,("umidi_attach\n")); - usbd_devinfo(uaa->device, 0, devinfo, sizeof(devinfo)); - printf("\n%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); + devinfop = usbd_devinfo_alloc(uaa->device, 0); + printf("\n%s: %s\n", USBDEVNAME(sc->sc_dev), devinfop); + usbd_devinfo_free(devinfop); sc->sc_iface = uaa->iface; sc->sc_udev = uaa->device; diff --git a/sys/dev/usb/umodem_common.c b/sys/dev/usb/umodem_common.c index 2eeacced6b8..8194562e1d3 100644 --- a/sys/dev/usb/umodem_common.c +++ b/sys/dev/usb/umodem_common.c @@ -1,4 +1,4 @@ -/* $NetBSD: umodem_common.c,v 1.3 2005/04/15 15:08:34 itohy Exp $ */ +/* $NetBSD: umodem_common.c,v 1.4 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -51,7 +51,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: umodem_common.c,v 1.3 2005/04/15 15:08:34 itohy Exp $"); +__KERNEL_RCSID(0, "$NetBSD: umodem_common.c,v 1.4 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -112,12 +112,12 @@ umodem_common_attach(device_ptr_t self, struct umodem_softc *sc, usbd_device_handle dev = uaa->device; usb_interface_descriptor_t *id; usb_endpoint_descriptor_t *ed; - char devinfo[1024]; + char *devinfop; usbd_status err; int data_ifcno; int i; - usbd_devinfo(uaa->device, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(uaa->device, 0); USB_ATTACH_SETUP; sc->sc_udev = dev; @@ -125,7 +125,8 @@ umodem_common_attach(device_ptr_t self, struct umodem_softc *sc, id = usbd_get_interface_descriptor(sc->sc_ctl_iface); printf("%s: %s, iclass %d/%d\n", USBDEVNAME(sc->sc_dev), - devinfo, id->bInterfaceClass, id->bInterfaceSubClass); + devinfop, id->bInterfaceClass, id->bInterfaceSubClass); + usbd_devinfo_free(devinfop); sc->sc_ctl_iface_no = id->bInterfaceNumber; /* Get the data interface no. */ diff --git a/sys/dev/usb/uplcom.c b/sys/dev/usb/uplcom.c index 08aff2aae48..282510d66b8 100644 --- a/sys/dev/usb/uplcom.c +++ b/sys/dev/usb/uplcom.c @@ -1,4 +1,4 @@ -/* $NetBSD: uplcom.c,v 1.41 2004/10/23 14:20:50 augustss Exp $ */ +/* $NetBSD: uplcom.c,v 1.42 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 2001 The NetBSD Foundation, Inc. * All rights reserved. @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uplcom.c,v 1.41 2004/10/23 14:20:50 augustss Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uplcom.c,v 1.42 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -209,16 +209,16 @@ USB_ATTACH(uplcom) usb_config_descriptor_t *cdesc; usb_interface_descriptor_t *id; usb_endpoint_descriptor_t *ed; - - char devinfo[1024]; + char *devinfop; char *devname = USBDEVNAME(sc->sc_dev); usbd_status err; int i; struct ucom_attach_args uca; - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); - USB_ATTACH_SETUP; - printf("%s: %s\n", devname, devinfo); + devinfop = usbd_devinfo_alloc(dev, 0); + USB_ATTACH_SETUP; + printf("%s: %s\n", devname, devinfop); + usbd_devinfo_free(devinfop); sc->sc_udev = dev; diff --git a/sys/dev/usb/urio.c b/sys/dev/usb/urio.c index 119478df81a..8c6b7a58ea4 100644 --- a/sys/dev/usb/urio.c +++ b/sys/dev/usb/urio.c @@ -1,4 +1,4 @@ -/* $NetBSD: urio.c,v 1.19 2004/04/23 17:25:26 itojun Exp $ */ +/* $NetBSD: urio.c,v 1.20 2005/05/11 10:02:28 augustss Exp $ */ /* * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -43,7 +43,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: urio.c,v 1.19 2004/04/23 17:25:26 itojun Exp $"); +__KERNEL_RCSID(0, "$NetBSD: urio.c,v 1.20 2005/05/11 10:02:28 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -167,7 +167,7 @@ USB_ATTACH(urio) USB_ATTACH_START(urio, sc, uaa); usbd_device_handle dev = uaa->device; usbd_interface_handle iface; - char devinfo[1024]; + char *devinfop; usbd_status err; usb_endpoint_descriptor_t *ed; u_int8_t epcount; @@ -175,9 +175,10 @@ USB_ATTACH(urio) DPRINTFN(10,("urio_attach: sc=%p\n", sc)); - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfop); + usbd_devinfo_free(devinfop); err = usbd_set_config_no(dev, URIO_CONFIG_NO, 1); if (err) { diff --git a/sys/dev/usb/usb_subr.c b/sys/dev/usb/usb_subr.c index 2b6c37b9429..c6f5077ee8f 100644 --- a/sys/dev/usb/usb_subr.c +++ b/sys/dev/usb/usb_subr.c @@ -1,4 +1,4 @@ -/* $NetBSD: usb_subr.c,v 1.123 2005/05/02 15:32:18 augustss Exp $ */ +/* $NetBSD: usb_subr.c,v 1.124 2005/05/11 10:02:29 augustss Exp $ */ /* $FreeBSD: src/sys/dev/usb/usb_subr.c,v 1.18 1999/11/17 22:33:47 n_hibma Exp $ */ /* @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: usb_subr.c,v 1.123 2005/05/02 15:32:18 augustss Exp $"); +__KERNEL_RCSID(0, "$NetBSD: usb_subr.c,v 1.124 2005/05/11 10:02:29 augustss Exp $"); #include "opt_usbverbose.h" @@ -80,7 +80,10 @@ extern int usbdebug; #define DPRINTFN(n,x) #endif +#define DEVINFOSIZE 1024 + Static usbd_status usbd_set_config(usbd_device_handle, int); +Static void usbd_devinfo(usbd_device_handle, int, char *, size_t); Static void usbd_devinfo_vp(usbd_device_handle dev, char v[USB_MAX_ENCODED_STRING_LEN], char p[USB_MAX_ENCODED_STRING_LEN], int usedev); @@ -272,7 +275,7 @@ usbd_printBCD(char *cp, size_t l, int bcd) return (snprintf(cp, l, "%x.%02x", bcd >> 8, bcd & 0xff)); } -void +Static void usbd_devinfo(usbd_device_handle dev, int showclass, char *cp, size_t l) { usb_device_descriptor_t *udd = &dev->ddesc; @@ -298,6 +301,22 @@ usbd_devinfo(usbd_device_handle dev, int showclass, char *cp, size_t l) *cp = 0; } +char * +usbd_devinfo_alloc(usbd_device_handle dev, int showclass) +{ + char *devinfop; + + devinfop = malloc(DEVINFOSIZE, M_TEMP, M_WAITOK); + usbd_devinfo(dev, showclass, devinfop, DEVINFOSIZE); + return devinfop; +} + +void +usbd_devinfo_free(char *devinfop) +{ + free(devinfop, M_TEMP); +} + /* Delay for a certain number of ms */ void usb_delay_ms(usbd_bus_handle bus, u_int ms) diff --git a/sys/dev/usb/usbdi.h b/sys/dev/usb/usbdi.h index 677ba1a4976..9131955e3a9 100644 --- a/sys/dev/usb/usbdi.h +++ b/sys/dev/usb/usbdi.h @@ -1,4 +1,4 @@ -/* $NetBSD: usbdi.h,v 1.64 2004/10/23 13:26:34 augustss Exp $ */ +/* $NetBSD: usbdi.h,v 1.65 2005/05/11 10:02:29 augustss Exp $ */ /* $FreeBSD: src/sys/dev/usb/usbdi.h,v 1.18 1999/11/17 22:33:49 n_hibma Exp $ */ /* @@ -163,7 +163,9 @@ const char *usbd_errstr(usbd_status); void usbd_add_dev_event(int, usbd_device_handle); void usbd_add_drv_event(int, usbd_device_handle, device_ptr_t); -void usbd_devinfo(usbd_device_handle, int, char *, size_t); +char *usbd_devinfo_alloc(usbd_device_handle dev, int showclass); +void usbd_devinfo_free(char *devinfop); + const struct usbd_quirks *usbd_get_quirks(usbd_device_handle); usb_endpoint_descriptor_t *usbd_get_endpoint_descriptor (usbd_interface_handle, u_int8_t); diff --git a/sys/dev/usb/uscanner.c b/sys/dev/usb/uscanner.c index 7218e18d4fa..77fd99eb09a 100644 --- a/sys/dev/usb/uscanner.c +++ b/sys/dev/usb/uscanner.c @@ -1,4 +1,4 @@ -/* $NetBSD: uscanner.c,v 1.47 2005/02/27 00:27:51 perry Exp $ */ +/* $NetBSD: uscanner.c,v 1.48 2005/05/11 10:02:29 augustss Exp $ */ /* * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uscanner.c,v 1.47 2005/02/27 00:27:51 perry Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uscanner.c,v 1.48 2005/05/11 10:02:29 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -320,13 +320,14 @@ USB_ATTACH(uscanner) USB_ATTACH_START(uscanner, sc, uaa); usb_interface_descriptor_t *id = 0; usb_endpoint_descriptor_t *ed, *ed_bulkin = NULL, *ed_bulkout = NULL; - char devinfo[1024]; + char *devinfop; int i; usbd_status err; - usbd_devinfo(uaa->device, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(uaa->device, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfop); + usbd_devinfo_free(devinfop); sc->sc_dev_flags = uscanner_lookup(uaa->vendor, uaa->product)->flags; diff --git a/sys/dev/usb/usscanner.c b/sys/dev/usb/usscanner.c index 892b09b4270..f2cf565567c 100644 --- a/sys/dev/usb/usscanner.c +++ b/sys/dev/usb/usscanner.c @@ -1,4 +1,4 @@ -/* $NetBSD: usscanner.c,v 1.16 2005/04/29 17:52:46 augustss Exp $ */ +/* $NetBSD: usscanner.c,v 1.17 2005/05/11 10:02:29 augustss Exp $ */ /* * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -54,7 +54,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: usscanner.c,v 1.16 2005/04/29 17:52:46 augustss Exp $"); +__KERNEL_RCSID(0, "$NetBSD: usscanner.c,v 1.17 2005/05/11 10:02:29 augustss Exp $"); #include "scsibus.h" #include <sys/param.h> @@ -175,7 +175,7 @@ USB_ATTACH(usscanner) USB_ATTACH_START(usscanner, sc, uaa); usbd_device_handle dev = uaa->device; usbd_interface_handle iface; - char devinfo[1024]; + char *devinfop; usbd_status err; usb_endpoint_descriptor_t *ed; u_int8_t epcount; @@ -183,9 +183,10 @@ USB_ATTACH(usscanner) DPRINTFN(10,("usscanner_attach: sc=%p\n", sc)); - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfop); + usbd_devinfo_free(devinfop); err = usbd_set_config_no(dev, USSCANNER_CONFIG_NO, 1); if (err) { diff --git a/sys/dev/usb/ustir.c b/sys/dev/usb/ustir.c index b038dac57ad..4d53f3af505 100644 --- a/sys/dev/usb/ustir.c +++ b/sys/dev/usb/ustir.c @@ -1,4 +1,4 @@ -/* $NetBSD: ustir.c,v 1.13 2004/04/23 17:25:27 itojun Exp $ */ +/* $NetBSD: ustir.c,v 1.14 2005/05/11 10:02:29 augustss Exp $ */ /* * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ustir.c,v 1.13 2004/04/23 17:25:27 itojun Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ustir.c,v 1.14 2005/05/11 10:02:29 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -311,7 +311,7 @@ USB_ATTACH(ustir) USB_ATTACH_START(ustir, sc, uaa); usbd_device_handle dev = uaa->device; usbd_interface_handle iface = uaa->iface; - char devinfo[1024]; + char *devinfop; usb_endpoint_descriptor_t *ed; u_int8_t epcount; int i; @@ -319,9 +319,10 @@ USB_ATTACH(ustir) DPRINTFN(10,("ustir_attach: sc=%p\n", sc)); - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfop); + usbd_devinfo_free(devinfop); sc->sc_udev = dev; sc->sc_iface = iface; diff --git a/sys/dev/usb/uvisor.c b/sys/dev/usb/uvisor.c index f44ec9c44a9..8cf55d8a040 100644 --- a/sys/dev/usb/uvisor.c +++ b/sys/dev/usb/uvisor.c @@ -1,4 +1,4 @@ -/* $NetBSD: uvisor.c,v 1.28 2005/02/27 00:27:51 perry Exp $ */ +/* $NetBSD: uvisor.c,v 1.29 2005/05/11 10:02:29 augustss Exp $ */ /* * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -42,7 +42,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uvisor.c,v 1.28 2005/02/27 00:27:51 perry Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uvisor.c,v 1.29 2005/05/11 10:02:29 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -222,7 +222,7 @@ USB_ATTACH(uvisor) struct uvisor_connection_info coninfo; struct uvisor_palm_connection_info palmconinfo; usb_endpoint_descriptor_t *ed; - char devinfo[1024]; + char *devinfop; char *devname = USBDEVNAME(sc->sc_dev); int i, j, hasin, hasout, port; usbd_status err; @@ -245,9 +245,10 @@ USB_ATTACH(uvisor) goto bad; } - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", devname, devinfo); + printf("%s: %s\n", devname, devinfop); + usbd_devinfo_free(devinfop); sc->sc_flags = uvisor_lookup(uaa->vendor, uaa->product)->uv_flags; diff --git a/sys/dev/usb/uvscom.c b/sys/dev/usb/uvscom.c index 049e89b49ee..b0c751a1499 100644 --- a/sys/dev/usb/uvscom.c +++ b/sys/dev/usb/uvscom.c @@ -1,4 +1,4 @@ -/* $NetBSD: uvscom.c,v 1.14 2005/02/16 07:52:47 martin Exp $ */ +/* $NetBSD: uvscom.c,v 1.15 2005/05/11 10:02:29 augustss Exp $ */ /*- * Copyright (c) 2001-2002, Shunsuke Akiyama <akiyama@jp.FreeBSD.org>. * All rights reserved. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uvscom.c,v 1.14 2005/02/16 07:52:47 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uvscom.c,v 1.15 2005/05/11 10:02:29 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -276,15 +276,16 @@ USB_ATTACH(uvscom) usb_config_descriptor_t *cdesc; usb_interface_descriptor_t *id; usb_endpoint_descriptor_t *ed; - char devinfo[1024]; + char *devinfop; const char *devname = USBDEVNAME(sc->sc_dev); usbd_status err; int i; struct ucom_attach_args uca; - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", devname, devinfo); + printf("%s: %s\n", devname, devinfop); + usbd_devinfo_free(devinfop); sc->sc_udev = dev; diff --git a/sys/dev/usb/uyap.c b/sys/dev/usb/uyap.c index c5a53b72d7e..aa356f5e0b1 100644 --- a/sys/dev/usb/uyap.c +++ b/sys/dev/usb/uyap.c @@ -1,4 +1,4 @@ -/* $NetBSD: uyap.c,v 1.7 2004/04/23 17:25:27 itojun Exp $ */ +/* $NetBSD: uyap.c,v 1.8 2005/05/11 10:02:29 augustss Exp $ */ /* * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uyap.c,v 1.7 2004/04/23 17:25:27 itojun Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uyap.c,v 1.8 2005/05/11 10:02:29 augustss Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -83,11 +83,13 @@ USB_ATTACH(uyap) USB_ATTACH_START(uyap, sc, uaa); usbd_device_handle dev = uaa->device; usbd_status err; - char devinfo[1024]; + char *devinfop; - usbd_devinfo(dev, 0, devinfo, sizeof(devinfo)); + devinfop = usbd_devinfo_alloc(dev, 0); USB_ATTACH_SETUP; - printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); + printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfop); + usbd_devinfo_free(devinfop); + printf("%s: downloading firmware\n", USBDEVNAME(sc->sc_dev)); err = ezload_downloads_and_reset(dev, uyap_firmwares); |
