The following changes since commit 84a1caf1453c3d44050bd22db958af4a7f99315c: Linux 3.5-rc7 (2012-07-14 15:40:28 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/ tags/usb-3.6-rc1 for you to fetch changes up to e387ef5c47ddeaeaa3cbdc54424cdb7a28dae2c0: usb: Add USB_QUIRK_RESET_RESUME for all Logitech UVC webcams (2012-07-19 15:46:32 -0700) ---------------------------------------------------------------- USB patches for 3.6-rc1 Here's the big USB patch set for the 3.6-rc1 merge window. Lots of little changes in here, primarily for gadget controllers and drivers. There's some scsi changes that I think also went in through the scsi tree, but they merge just fine. All of these patches have been in the linux-next tree for a while now. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> ---------------------------------------------------------------- Alan Stern (28): USB: EHCI: define extension registers like normal ones EHCI: centralize controller suspend/resume EHCI: centralize controller initialization USB: EHCI: initialize data before resetting hardware USB: EHCI: remove unneeded suspend/resume code USB: EHCI: don't refcount QHs USB: EHCI: add symbolic constants for QHs USB: EHCI: rename "reclaim" USB: EHCI: add pointer to end of async-unlink list USB: EHCI: add new root-hub state: STOPPING USB: EHCI: introduce high-res timer USB: EHCI: use hrtimer for the periodic schedule USB: EHCI: return void instead of 0 USB: EHCI: remove PS3 status polling USB: EHCI: use hrtimer for async schedule USB: EHCI: use hrtimer for interrupt QH unlink USB: EHCI: use hrtimer for controller death USB: EHCI: use hrtimer for (s)iTD deallocation USB: EHCI: don't refcount iso_stream structures USB: EHCI: use hrtimer for the IAA watchdog USB: EHCI: unlink multiple async QHs together USB: EHCI: use hrtimer for unlinking empty async QHs USB: EHCI: don't lose events during a scan USB: EHCI: always scan each interrupt QH USB: EHCI: use hrtimer for the I/O watchdog USB: EHCI: simplify isochronous scanning USB: EHCI: fix up locking USB: EHCI: resolve some unlikely races Alexander Shishkin (1): usb: chipidea: remove unneeded NULL check Alexandre Pereira da Silva (6): USB: ohci-nxp: add usbd and otg clock initialization usb: gadget: lpc32xx_udc: move clock init to clock framework usb: gadget: lpc32xx_udc: Propagate devicetree to gadget drivers usb: gadget: s3c-hsotg: Propagate devicetree to gadget drivers usb: gadget: fsl_udc: Propagate devicetree to gadget drivers usb: gadget: at91_udc: Propagate devicetree to gadget drivers Ben Minerds (5): USB: serial: keyspan: Fix spacing around conditional. USB: serial: keyspan: Fixed space around equals. USB: serial: keyspan: Fixed space near open parenthesis. USB: serial: keyspan: Removed trailing whitespace. USB: serial: keyspan: Removed unrequired parentheses. Bhupesh Sharma (3): usb: gadget: uvc: Fix string descriptor STALL issue when multiple uvc functions are added to a configuration usb: gadget: uvc: Use macro for interrupt endpoint status size instead of using a MAGIC number usb: gadget: uvc: Add super-speed support to UVC webcam gadget Bill Pemberton (2): USB: serial: Remove unused s_priv variable USB: serial: Remove unused serial_priv variable Bjørn Mork (9): USB: allow match on bInterfaceNumber USB: cdc-wdm: QMI devices are now handled by qmi_wwan USB: qcserial: consolidate usb_set_interface calls USB: qcserial: centralize probe exit path USB: qcserial: make probe more flexible USB: qcserial: support generic Qualcomm serial ports USB: qcserial: adding Sierra Wireless devices USB: sierra: QMI mode MC7710 moved to qcserial USB: option: add ZTE MF821D Daniel Mack (1): usb: gadget: hidg: register OUT INT endpoint for SET_REPORT Du, ChangbinX (1): testusb: expose looping forever option "l" to user Fabio Estevam (4): usb: fsl_mxc_udc.c : Use clk_prepare_enable/clk_disable_unprepare usb: imx_udc.c: Use clk_prepare_enable/clk_disable_unprepare usb: imx21-hcd.c: Use clk_prepare_enable/clk_disable_unprepare usb: gadget: fsl_mxc_udc: do not depend on grouped clocks Felipe Balbi (30): usb: dwc3: fix a WARN and a comment usb: dwc3: handle pending unaligned Control OUT data phase correctly usb: dwc3: ep0: switch over to IS_ALIGNED usb: dwc3: ep0: align on function signature usb: dwc3: ep0: fix a typo in comment usb: dwc3: gadget: remove trailing semicolon usb: dwc3: gadget: prevent DCTL register corruption usb: dwc3: gadget: disable U1/U2 on disconnect usb: dwc3: ep0: simplify error handling on dwc3_ep0_inspect_setup usb: dwc3: ep0: be careful with endianness on SetSEL command usb: dwc3: ep0: rename dwc3_ep0_complete_req to dwc3_ep0_complete_status usb: gadget: omap_udc: make checkpatch.pl happy usb: gadget: omap_udc: remove useless print usb: gadget: omap_udc: let it work as a module usb: gadget: omap_udc: remove possiblity of NULL pointer de-reference usb: gadget: omap_udc: kfree(NULL) is safe usb: gadget: omap_udc: use generic map/unmap routines usb: dwc3: gadget: drop useless code usb: dwc3: gadget: don't wait for ep cmd IRQ usb: dwc3: gadget: don't call stop_active_transfers() on disconnect usb: dwc3: gadget: ignore endpoint IRQs when endpoint is disabled usb: gadget: composite: fix ep->maxburst initialization usb: otg: twl: add missing IRQF_ONESHOT usb: dwc3: gadget: split special cases of ep_queue() usb: dwc3: rename res_trans_idx to resource_index usb: dwc3: gadget: remove duplicated code from __dwc3_gadget_ep_set_halt usb: dwc3: ep0: prevent starting transfers twice on ep0 usb: chipidea: drop useless arch-check usb: chipidea: msm: add missing section annotation usb: chipidea: msm: add remove method Gerard CAUVY (1): usb: dwc3: gadget: move AcceptU1Ena and AcceptU2Ena to Reset IRQ Gerd Hoffmann (7): Revert "usb/uas: make sure data urb is gone if we receive status before that" Revert "usb/uas: one only one status URB/host on stream-less connection" uas: fix sense urb handling uas: keep track of command state, finish scsi cmd when really done. uas: improve error handling uas: track urbs, kill inflight urbs on disconnect. uas: task mgmt & error handling Greg Kroah-Hartman (12): Merge branch 'usb-linus' into usb-next USB: rename the usb misc class from "usb" to "usbmisc" USB: properly pad out usb_device_id.driver_info Merge 3.5-rc3 into usb-next Merge 3.5-rc4 into usb-next Merge 3.5-rc5 into usb-next Merge tag 'musb-for-v3.6' of git://git.kernel.org/.../balbi/usb into usb-next Merge tag 'gadget-for-v3.6' of git://git.kernel.org/.../balbi/usb into usb-next Merge tag 'dwc3-for-v3.6' of git://git.kernel.org/.../balbi/usb into usb-next Merge tag 'xceiv-for-v3.6' of git://git.kernel.org/.../balbi/usb into usb-next Merge 3.5-rc7 into usb-next Merge tag 'for-usb-next-2012-07-11' of git://git.kernel.org/.../sarah/xhci into usb-next Guilherme Maciel Ferreira (1): USB: FHCI: Reusing QUICC Engine USB Controller registers from immap_qe.h Gustavo Padovan (1): USB: add USB_VENDOR_AND_INTERFACE_INFO() macro Hans de Goede (5): usb-core: Set intfdata to NULL if a driver's probe method failed usbdevfs: Correct amount of data copied to user in processcompl_compat usbdevfs: Add a USBDEVFS_GET_CAPABILITIES ioctl usbdevfs: Use scatter-gather lists for large bulk transfers usb/hcd: Ensure scatter-gather is not used for isoc transfers Jeffrin Jose (3): USB: storage: fixed space issues in coding style. usb: early: fixed coding style issue related to : operator USB: class: cdc-acm: Fixed coding style issue. Jesper Dangaard Brouer (1): usb: correct trivial typo in drivers/usb/host/Kconfig Jingoo Han (3): USB: ohci-exynos: add clock gating to suspend/resume USB: ohci-exynos: use devm_ functions USB: ehci-s5p: use devm_ functions Joe Perches (1): usb: gadget: pch_udc: Fix likely misuse of | for & Johan Hovold (3): USB: option: use usb_{get,set}_serial_data USB: option: clean up probe coding style USB: option: handle send_setup blacklisting at probe Kevin Cernekee (1): usb: gadget: Fix g_ether interface link status Kishon Vijay Abraham I (11): usb: otg: utils: rename function name in OTG utils usb: otg: support for multiple transceivers by a single controller usb: otg: utils: devres: Add API's to associate a device with the phy usb: musb: move work_struct(otg_notifier_work) from core to omap glue usb: musb: twl: use mailbox API to send VBUS or ID events usb: musb: move otg specific initializations from twl to glue usb: musb: omap: use devres API to allocate resources usb: otg: twl: use devres API to allocate resources usb: phy: fix return value check of usb_get_phy usb: phy: fix error handling in usb_get_phy drivers: usb: otg: fix build break in twl6030-usb.c Koen Beel (1): usb: gadget: ffs: add HID descriptor support. Kumar Gala (1): USB: ehci-fsl: Update ifdef check to work on 64-bit ppc Kuninori Morimoto (3): usb: renesas_usbhs: add DMAEngine ID specification note usb: renesas_usbhs: add DMAEngine ID specification note usb: renesas_usbhs: use dmaengine helper functions Lan Tianyu (1): usb: convert port_owners type from void * to struct dev_state * Laurent Pinchart (2): usb: Add quirk detection based on interface information usb: Add USB_QUIRK_RESET_RESUME for all Logitech UVC webcams Laxman Dewangan (1): usb: host: tegra: pass correct pointer in ehci_setup() Lukasz Majewski (4): usb: hsotg: samsung: Replace endpoint specific locks with a global lock usb: hsotg: samsung: Protect the udc_stop routine with spinlock usb: hsotg: samsung: smp Provide *_lock functions abstraction layer for SMP SoCs usb: gadget: hsotg: pullup method implementation for s3c-hsotg UDC driver Mantesh Sarasetti (1): usb: musb: host: Disable MUSB DMA mode incase of DMA channel request failure Michal Nazarewicz (6): usb: gadget: f_mass_storage: change default value of the removable parameter usb: gadget: mass_storage: remove unused options usb: gadget: mass_storage: add documentation usb: gadget: storage_common: remove FSG_BUFFHD_STATIC_BUFFER support usb: gadget: mass_storage: fail fsg_store_file() early if colud not open file usb: gadget: mass_storage: make "file" and "ro" read only in some cases Ming Lei (1): USB: ehci-omap: fix compile failure(v1) Namjae Jeon (3): scsi: set to WCE if usb cache quirk is present. usb: storage: add support for write cache quirk usb: storage: update usb devices for write cache quirk in quirk list. Paul Walmsley (1): usb: otg: isp1301_omap: resolve unused variable warning from gcc Paul Zimmerman (5): usb: dwc3: add definitions for new registers usb: dwc3: gadget: reinitialize retries usb: dwc3: gadget: rename phy_power() to phy_suspend() usb: dwc3: support new revisions of DWC3 core usb: dwc3: core: make sure evt->lpos is correctly initialized Pratyush Anand (16): USB: DWC3: Generate interrupt on each TRB as default option USB: DWC3: Correct DWC3_TRB_SIZE_TRBSTS definition USB: DWC3: Correct DWC3_DSTS_SOFFN_MASK definition usb: dwc3: Fix missed isoc IN transaction usb: dwc3: Fix break from cleanup request loop usb: dwc3: Correct DWC3_DCTL_HIRD_THRES definition usb: dwc3: resume phy during gadget initialization on recent cores usb: dwc3: giveback all queued request when ep disabled or reset received USB: DWC3: Put 100 ms delay for phy to be stable USB: DWC3: Issue device soft reset before core soft reset usb: dwc3: remove WARN_ON from dwc_stop_active_transfer usb: dwc3: correct set_halt implementation for ep0 usb: dwc3: keep default hird threshold value as 4b1100 usb: dwc3: no need to clear INIT{U1,U2}ENA bits usb: dwc3: enable ACCEPT{U1,U2}ENA when SetConfiguration received usb: dwc3: return error in case of run/stop timeout Richard Kennedy (1): USB: remove 8 bytes of padding from usb_host_interface on 64 bit builds Richard Zhao (11): USB: move transceiver from ehci_hcd and ohci_hcd to hcd and rename it as phy USB: Chipidea: rename struct ci13xxx_udc_driver to struct ci13xxx_platform_data USB: Chipidea: rename struct ci13xxx variables from udc to ci USB: Chipidea: add unified ci13xxx_{add,remove}_device for platform drivers USB: Chipidea: add ci13xxx device id management usb: chipidea: select USB_EHCI_ROOT_HUB_TT in USB_CHIPIDEA_HOST of Kconfig usb: otg: add notify_connect/notify_disconnect callback usb: chipidea: permit driver bindings pass phy pointer usb: otg: add basic mxs phy driver support usb: chipidea: add imx platform driver USB: notify phy when root hub port connect change Russ Dill (2): ARM: OMAP: USB: Fixup ehci_hcd_omap_probe error path Fix OMAP EHCI suspend/resume failure (i693) '354ab856' causes Sachin Kamat (3): usb: s3c-hsotg: Use devm_* functions in s3c-hsotg.c file usb: dwc3: Remove duplicate header file inclusion usb: s3c-hsotg: Add header file protection macros in s3c-hsotg.h Sarah Sharp (7): USB: Fix LPM disable/enable during device reset. USB: Disable LPM while the device is unconfigured. USB: Fix LPM disable count mismatch on driver unbind. USB: Remove unused LPM variable. xhci: Export Latency Tolerance Messaging capabilities. USB: Enable Latency Tolerance Messaging (LTM). USB: Add a sysfs file to show LTM capabilities. Steve Bennett (1): usb: gadget: acm_ms: need to set max_speed Tony Lindgren (1): usb: gadget: omap_udc: Remove omap2 support Vikram Pandita (1): usb: musb: handle nuked ep dma interrupt Vivek Gautam (3): USB: ohci-exynos: Add support for device tree USB: ehci-s5p: Add support for device tree USB: ehci-s5p: Add vbus setup function to the s5p ehci glue layer Yu Xu (1): usb: gadget: mv: Add USB 3.0 device driver for Marvell PXA2128 chip. Documentation/ABI/testing/sysfs-bus-usb | 12 + .../devicetree/bindings/usb/ci13xxx-imx.txt | 18 + Documentation/devicetree/bindings/usb/mxs-phy.txt | 13 + Documentation/kernel-parameters.txt | 2 + Documentation/usb/mass-storage.txt | 226 +++ arch/arm/mach-omap2/clock3xxx_data.c | 14 +- drivers/power/ab8500_charger.c | 8 +- drivers/power/isp1704_charger.c | 8 +- drivers/power/pda_power.c | 22 +- drivers/power/twl4030_charger.c | 13 +- drivers/scsi/sd.c | 9 +- drivers/usb/chipidea/Kconfig | 1 + drivers/usb/chipidea/Makefile | 9 +- drivers/usb/chipidea/ci.h | 32 +- drivers/usb/chipidea/ci13xxx_imx.c | 198 ++ drivers/usb/chipidea/ci13xxx_msm.c | 63 +- drivers/usb/chipidea/ci13xxx_pci.c | 52 +- drivers/usb/chipidea/core.c | 70 +- drivers/usb/chipidea/debug.c | 146 +- drivers/usb/chipidea/host.c | 3 +- drivers/usb/chipidea/udc.c | 635 +++--- drivers/usb/class/cdc-acm.c | 2 +- drivers/usb/class/cdc-wdm.c | 25 - drivers/usb/core/devio.c | 169 +- drivers/usb/core/driver.c | 48 +- drivers/usb/core/file.c | 2 +- drivers/usb/core/hcd.c | 10 +- drivers/usb/core/hub.c | 139 +- drivers/usb/core/message.c | 16 +- drivers/usb/core/quirks.c | 151 +- drivers/usb/core/sysfs.c | 15 +- drivers/usb/core/usb.c | 1 + drivers/usb/core/usb.h | 13 +- drivers/usb/dwc3/core.c | 13 +- drivers/usb/dwc3/core.h | 107 +- drivers/usb/dwc3/dwc3-exynos.c | 1 - drivers/usb/dwc3/ep0.c | 146 +- drivers/usb/dwc3/gadget.c | 365 ++-- drivers/usb/dwc3/gadget.h | 6 + drivers/usb/early/ehci-dbgp.c | 2 +- drivers/usb/gadget/Kconfig | 9 + drivers/usb/gadget/Makefile | 1 + drivers/usb/gadget/acm_ms.c | 1 + drivers/usb/gadget/at91_udc.c | 1 + drivers/usb/gadget/composite.c | 7 +- drivers/usb/gadget/f_fs.c | 7 + drivers/usb/gadget/f_hid.c | 208 +- drivers/usb/gadget/f_mass_storage.c | 133 +- drivers/usb/gadget/f_uvc.c | 287 ++- drivers/usb/gadget/f_uvc.h | 8 +- drivers/usb/gadget/fsl_mxc_udc.c | 74 +- drivers/usb/gadget/fsl_udc_core.c | 18 +- drivers/usb/gadget/imx_udc.c | 6 +- drivers/usb/gadget/lpc32xx_udc.c | 85 +- drivers/usb/gadget/mv_u3d.h | 320 +++ drivers/usb/gadget/mv_u3d_core.c | 2098 ++++++++++++++++++++ drivers/usb/gadget/mv_udc_core.c | 15 +- drivers/usb/gadget/omap_udc.c | 434 ++-- drivers/usb/gadget/pch_udc.c | 2 +- drivers/usb/gadget/pxa25x_udc.c | 17 +- drivers/usb/gadget/pxa27x_udc.c | 15 +- drivers/usb/gadget/s3c-hsotg.c | 215 +- drivers/usb/gadget/s3c-hsudc.c | 13 +- drivers/usb/gadget/storage_common.c | 63 +- drivers/usb/gadget/u_ether.c | 12 +- drivers/usb/gadget/uvc.h | 4 +- drivers/usb/gadget/webcam.c | 29 +- drivers/usb/host/Kconfig | 4 +- drivers/usb/host/ehci-atmel.c | 19 +- drivers/usb/host/ehci-au1xxx.c | 87 +- drivers/usb/host/ehci-cns3xxx.c | 6 +- drivers/usb/host/ehci-dbg.c | 24 +- drivers/usb/host/ehci-fsl.c | 42 +- drivers/usb/host/ehci-grlib.c | 15 +- drivers/usb/host/ehci-hcd.c | 512 +++-- drivers/usb/host/ehci-hub.c | 129 +- drivers/usb/host/ehci-ixp4xx.c | 6 +- drivers/usb/host/ehci-mem.c | 25 +- drivers/usb/host/ehci-msm.c | 27 +- drivers/usb/host/ehci-mv.c | 36 +- drivers/usb/host/ehci-mxc.c | 17 +- drivers/usb/host/ehci-octeon.c | 8 +- drivers/usb/host/ehci-omap.c | 114 +- drivers/usb/host/ehci-orion.c | 17 +- drivers/usb/host/ehci-pci.c | 238 +-- drivers/usb/host/ehci-platform.c | 7 +- drivers/usb/host/ehci-pmcmsp.c | 17 +- drivers/usb/host/ehci-ppc-of.c | 25 +- drivers/usb/host/ehci-ps3.c | 18 +- drivers/usb/host/ehci-q.c | 311 +-- drivers/usb/host/ehci-s5p.c | 135 +- drivers/usb/host/ehci-sched.c | 552 ++--- drivers/usb/host/ehci-sead3.c | 74 +- drivers/usb/host/ehci-sh.c | 16 +- drivers/usb/host/ehci-spear.c | 71 +- drivers/usb/host/ehci-tegra.c | 36 +- drivers/usb/host/ehci-timer.c | 401 ++++ drivers/usb/host/ehci-vt8500.c | 14 +- drivers/usb/host/ehci-w90x900.c | 9 +- drivers/usb/host/ehci-xilinx-of.c | 31 +- drivers/usb/host/ehci-xls.c | 21 +- drivers/usb/host/ehci.h | 138 +- drivers/usb/host/fhci-dbg.c | 12 +- drivers/usb/host/fhci-hcd.c | 32 +- drivers/usb/host/fhci-hub.c | 16 +- drivers/usb/host/fhci-sched.c | 30 +- drivers/usb/host/fhci-tds.c | 14 +- drivers/usb/host/fhci.h | 22 +- drivers/usb/host/imx21-hcd.c | 6 +- drivers/usb/host/ohci-exynos.c | 46 +- drivers/usb/host/ohci-nxp.c | 88 +- drivers/usb/host/ohci-omap.c | 28 +- drivers/usb/host/ohci.h | 5 - drivers/usb/host/xhci-hub.c | 6 + drivers/usb/host/xhci.c | 2 + drivers/usb/musb/am35x.c | 7 +- drivers/usb/musb/blackfin.c | 7 +- drivers/usb/musb/da8xx.c | 7 +- drivers/usb/musb/davinci.c | 9 +- drivers/usb/musb/musb_core.c | 2 +- drivers/usb/musb/musb_core.h | 2 - drivers/usb/musb/musb_dsps.c | 9 +- drivers/usb/musb/musb_gadget.c | 14 + drivers/usb/musb/musb_host.c | 6 +- drivers/usb/musb/omap2430.c | 124 +- drivers/usb/musb/tusb6010.c | 9 +- drivers/usb/musb/ux500.c | 7 +- drivers/usb/otg/Kconfig | 10 + drivers/usb/otg/Makefile | 1 + drivers/usb/otg/ab8500-usb.c | 4 +- drivers/usb/otg/fsl_otg.c | 6 +- drivers/usb/otg/gpio_vbus.c | 4 +- drivers/usb/otg/isp1301_omap.c | 19 +- drivers/usb/otg/msm_otg.c | 6 +- drivers/usb/otg/mv_otg.c | 6 +- drivers/usb/otg/mxs-phy.c | 186 ++ drivers/usb/otg/nop-usb-xceiv.c | 4 +- drivers/usb/otg/otg.c | 181 +- drivers/usb/otg/twl4030-usb.c | 73 +- drivers/usb/otg/twl6030-usb.c | 71 +- drivers/usb/renesas_usbhs/fifo.c | 14 +- drivers/usb/serial/keyspan.c | 31 +- drivers/usb/serial/option.c | 90 +- drivers/usb/serial/qcserial.c | 125 +- drivers/usb/serial/quatech2.c | 4 - drivers/usb/serial/sierra.c | 3 - drivers/usb/storage/protocol.c | 6 +- drivers/usb/storage/scsiglue.c | 5 + drivers/usb/storage/uas.c | 422 ++-- drivers/usb/storage/unusual_devs.h | 12 + drivers/usb/storage/usb.c | 5 +- include/linux/mod_devicetable.h | 10 +- include/linux/platform_data/s3c-hsotg.h | 5 + include/linux/usb.h | 59 +- include/linux/usb/chipidea.h | 14 +- include/linux/usb/ehci_def.h | 28 +- include/linux/usb/hcd.h | 6 + include/linux/usb/musb-omap.h | 30 + include/linux/usb/otg.h | 67 +- include/linux/usb/renesas_usbhs.h | 8 + include/linux/usb/uas.h | 40 + include/linux/usb_usual.h | 4 +- include/linux/usbdevice_fs.h | 8 + include/scsi/scsi_device.h | 1 + scripts/mod/file2alias.c | 5 +- tools/usb/testusb.c | 21 +- 166 files changed, 8060 insertions(+), 4113 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/ci13xxx-imx.txt create mode 100644 Documentation/devicetree/bindings/usb/mxs-phy.txt create mode 100644 Documentation/usb/mass-storage.txt create mode 100644 drivers/usb/chipidea/ci13xxx_imx.c create mode 100644 drivers/usb/gadget/mv_u3d.h create mode 100644 drivers/usb/gadget/mv_u3d_core.c create mode 100644 drivers/usb/host/ehci-timer.c create mode 100644 drivers/usb/otg/mxs-phy.c create mode 100644 include/linux/usb/musb-omap.h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html