1. 14 Jul, 2004 40 commits
    • Greg Kroah-Hartman's avatar
    • Adrian Bunk's avatar
      [PATCH] USB: USB w9968cf compile error · 12744ffe
      Adrian Bunk authored
      On Tue, Jul 13, 2004 at 06:25:59PM -0700, Andrew Morton wrote:
      >...
      > All 252 patches:
      >...
      > bk-usb.patch
      >...
      
      This patch marks w9968cf_valid_depth as inline, although it's used
      before it's defined.
      
      gcc 3.4 therefore correctly fails with:
      
      <--  snip  -->
      
      ...
        CC      drivers/usb/media/w9968cf.o
      drivers/usb/media/w9968cf.c: In function `w9968cf_set_picture':
      drivers/usb/media/w9968cf.c:487: sorry, unimplemented: inlining failed
      in call to 'w9968cf_valid_depth': function body not available
      drivers/usb/media/w9968cf.c:1722: sorry, unimplemented: called from here
      make[3]: *** [drivers/usb/media/w9968cf.o] Error 1
      
      <--  snip  -->
      
      
      This patch moves w9968cf_valid_depth above it's first user (it also uses
      two other functions to keep the ordering of functions a bit more
      consistent).
      Signed-off-by: default avatarAdrian Bunk <bunk@fs.tum.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      12744ffe
    • David Brownell's avatar
      [PATCH] USB: usb hub, don't check speed before reset · 6e6fc348
      David Brownell authored
      Signaling (even D- vs D+ pullup) may not be stable
      for a while.
      
      At least one OTG root hub won't reliably (<10%) report device speed until
      after reset (and the OTG state transitions have quiesced for a while).
      
      This patch makes that not matter.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      6e6fc348
    • Luca Risolia's avatar
      [PATCH] USB: W99[87]CF fix · 0c134b56
      Luca Risolia authored
      Signed-off-by: default avatarLuca Risolia <luca.risolia@studio.unibo.it>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      0c134b56
    • David Brownell's avatar
      [PATCH] USB: usb host side updates, mostly for suspend · 48f79939
      David Brownell authored
      This adds some of the infrastructure needed to support some more
      USB capabilities:
      
       -  CONFIG_USB_SUSPEND, so Linux can put individual devices
          into the USB "suspend" state.  They can (sometimes) use
          "remote wakeup" to resume the host; or they can each be
          resumed by the host.
      
            + New usbcore device selective suspend/resume APIs
      	* Define them, as stubs for now
      	* Call them on the paths sysfs uses (renamed functions)
            + HCD support
      	* Define root hub suspend calls; delegate them to HCDs.
      	* OHCI and EHCI can suspend/resume root hubs that way.
      	* Not called yet, until suspend/resume calls exist
      
       -  CONFIG_USB_OTG, which depends on the selective suspend APIs
          to allow devices to switch roles (host to peripheral, etc).
          This patch just adds a few key flags in usb_bus, needed by
          usbcore (during enumeration) and by HCD and OTG controllers
          on OTG-capable boards.
      
       -  Related bugfix:  power budgeting is supposed to place a
          100mA per port (non-OTG) for bus-powered devices.
      
      This patch changes no behavior; later patches will do that,
      and they'll be smaller because of this.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      48f79939
    • Ian Abbott's avatar
      [PATCH] USB: ftdi_sio VID/PID updates · 13c3fe8a
      Ian Abbott authored
      Greg,
      
      This patch adds various VID/PIDs to the ftdi_sio driver that I've
      accumulated from the ftdi-usb-sio-devel mailing list, and one from
      the 2.4 kernel sources:
      
      * Interbiometrics USB I/O boards VID/PIDs from 2.4 kernel (Rudolf
        Gugler).
      * Intrepid Control Systems ValueCAN and NeoVI VID/PIDs from Scott
        Wolchok.
      * Falcom Twist USB GPRS modem VID/PID from Justin Schoeman.
      * Suunto Sports instrument PID from Panu Kekalainen.
      
      Also a few minor clean-ups:
      
      * Removed a stray PID macro constant FTDI_GUDEADS_889_PID.
      * Copied the Inside Accesso VID/PID into the FT232BM ID table so
        that the "combined" table is a proper union of the others (unless I've
        missed something else).
      * Added a comment that the OCT US101 is also rebadged as a SIIG Inc.
        US2308.
      Signed-off-by: default avatarIan Abbott <abbotti@mev.co.uk>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      13c3fe8a
    • Ian Abbott's avatar
      [PATCH] USB: ftdi_sio debug trace for TIOCMSET · 5d1b6084
      Ian Abbott authored
      Someone spotted that ftdi_sio outputs a debug trace for TIOCMGET,
      but not for TIOCMSET, so this patch adds a debug trace for TIOCMSET
      too.
      
      Signed off by: Ian Abbott <abbotti@mev.co.uk>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      5d1b6084
    • Luiz Capitulino's avatar
    • Andreas John's avatar
      [PATCH] USB: usbserial/ipaq update · 8df7385f
      Andreas John authored
      However, attached I provide you a patch against 2.6.7 which should add
      the ASUS A620 PDA to the ipaq Kernel module.
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      8df7385f
    • Frank Engel's avatar
      [PATCH] USB: unusual_devs.h update · 14dd280c
      Frank Engel authored
      added another device to unusual_devs.h. Its a Sony Clie PEG-675C. Now I
      can mount the memory stick.
      
      cat /proc/bus/usb/devices
      
      T:  Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 18 Spd=12  MxCh= 0
      D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=16 #Cfgs=  1
      P:  Vendor=054c ProdID=0099 Rev= 1.00
      S:  Manufacturer=Sony
      S:  Product=Sony PEG Mass Storage
      C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  6mA
      I:  If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=05 Prot=00 Driver=usb-storage
      E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      14dd280c
    • Olaf Hering's avatar
      [PATCH] USB: fix SN9C10[12] driver for ia64 · 4a3280d8
      Olaf Hering authored
       On Sun, Jul 11, Luca Risolia wrote:
      
      > This single patch contains some updates and cleanups for
      > the W996[87]CF driver and a new experimental V4L2 driver
      > for SONiX SN9C10[12] PC Camera Controllers connected to various
      > image sensors. I have not divided the patch in two logical
      > sub-patches becouse of two independent changes in one common
      > file, KConfigure. Since this mailing list refused the patch,
      > due to its size, I have uploaded it here, as
      > Documentation/SubmittingPatches suggests:
      
      I need this patch for x86_64.
      
      
        CC [M]  drivers/usb/media/sn9c102_core.o
      In file included from drivers/usb/media/sn9c102.h:34,
                       from drivers/usb/media/sn9c102_core.c:43:
      include/asm/rwsem.h:55: error: redefinition of `struct rw_semaphore'
      In file included from drivers/usb/media/sn9c102.h:34,
                       from drivers/usb/media/sn9c102_core.c:43:
      include/asm/rwsem.h:79:1: warning: "__RWSEM_INITIALIZER" redefined
      In file included from include/linux/rwsem.h:25,
                       from include/asm/semaphore.h:43,
                       from include/linux/sched.h:18,
                       from include/linux/module.h:10,
                       from drivers/usb/media/sn9c102_core.c:21:
      include/linux/rwsem-spinlock.h:49:1: warning: this is the location of the previous definition
      include/asm/rwsem.h:87: warning: static declaration for `init_rwsem' follows non-static
      include/asm/rwsem.h:100: warning: `__down_read' declared inline after being called
      include/asm/rwsem.h:100: warning: static declaration for `__down_read' follows non-static
      include/asm/rwsem.h:122: warning: `__down_read_trylock' declared inline after being called
      include/asm/rwsem.h:122: warning: static declaration for `__down_read_trylock' follows non-static
      include/asm/rwsem.h:146: warning: `__down_write' declared inline after being called
      include/asm/rwsem.h:146: warning: static declaration for `__down_write' follows non-static
      include/asm/rwsem.h:171: warning: `__down_write_trylock' declared inline after being called
      include/asm/rwsem.h:171: warning: static declaration for `__down_write_trylock' follows non-static
      include/asm/rwsem.h:184: warning: `__up_read' declared inline after being called
      include/asm/rwsem.h:184: warning: static declaration for `__up_read' follows non-static
      include/asm/rwsem.h:208: warning: `__up_write' declared inline after being called
      include/asm/rwsem.h:208: warning: static declaration for `__up_write' follows non-static
      include/asm/rwsem.h:233: warning: `__downgrade_write' declared inline after being called
      include/asm/rwsem.h:233: warning: static declaration for `__downgrade_write' follows non-static
      make[3]: *** [drivers/usb/media/sn9c102_core.o] Error 1
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      4a3280d8
    • Greg Kroah-Hartman's avatar
      [PATCH] USB: sort the order in which the usb-serial drivers get built · 1d612253
      Greg Kroah-Hartman authored
      all other usb drivers get built in alphabetical order, why not these?
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      1d612253
    • Greg Kroah-Hartman's avatar
      [PATCH] USB: remove CONFIG_USB_SERIAL_DEBUG · 801a68b7
      Greg Kroah-Hartman authored
      This involved reworking the usb_serial_debug_data() function too.
      Based on a request from SuSE, and numerous user confusions with how
      to enable this option.  Now that all usb-serial drivers are using
      module_param() it can be set from the boot command line if the drivers
      are built into the kernel.
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      801a68b7
    • Greg Kroah-Hartman's avatar
    • Luca Risolia's avatar
      [PATCH] Updates for W99[87]CF and new SN9C10[12] driver · be3a4fef
      Luca Risolia authored
      This single patch contains some updates and cleanups for
      the W996[87]CF driver and a new experimental V4L2 driver
      for SONiX SN9C10[12] PC Camera Controllers connected to various
      image sensors. I have not divided the patch in two logical
      sub-patches becouse of two independent changes in one common
      file, KConfigure.
      
      More informations about the SN9C10[12] can be found below in the
      documentation. The driver is marked as "EXPERIMENTAL", meaning
      that there are no known bugs, but further testing is necessary
      before considering it stable. This the first driver using the new
      SBGGR8 video format, which has been recently added to the mainline
      kernel, so there are no available user application at the moment:
      this is one more reason why it should be in the kernel now.
      
      Changes in W996[87]CF:
      - remove w9968cf_externaldef.h now that ovcamchip.h is in the kernel;
      - mark user pointers with __user in a cleaner way to avoid sparse
        warnings;
      - use appropriate exclusive wait macro during open();
      - replace info(), err(), warn() with dev_info(), dev_err(), dev_warn(),
        pr_debug(), pr_info();
      - replace usb_unlink_urb() + wait_for_completion() with usb_kill_urb();
      - fix memory offsets for buffers in the chip to be used with generic
        image sensors;
      - 'vppmod_load', 'debug', 'specific_debug' and 'simcams' module
        parameters are now writeable by default;
      - fix possible race conditions between disconnect() and open();
      - add automatic 'ovcamchip' module loading option with 'ovmod_load'
        module parameter;
      - get rid of deprecated intermodule communication routines and use the
        correct module registration/unregistration approach;
      - remove period at the end of kernel messages;
      - fix several typos;
      - use MODULE_VERSION() macro;
      - other small internal cleanups;
      - documentation updates.
      Signed-off-by: default avatarLuca Risolia <luca.risolia@studio.unibo.it>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      be3a4fef
    • David Brownell's avatar
      [PATCH] USB: usb ethernet gadget, minor fixes + basic OTG support · 75509570
      David Brownell authored
      Update CDC Ethernet/RNDIS gadget driver to the latest:
      
          -	Basics of OTG support: providing the OTG descriptor
      	in each configuration (as needed).   No HNP yet.
      
          -	Stop issuing partial-packet reads.  There's some hardware that
      	only counts reads in packets, not bytes, so let's not bother.
      	There are still software checks to catch framing gone wild.
      
          -	Fix a small bug that crept in with a memory leak fix: after
              RNDIS requests, ep0 responses would use the RNDIS completion
      	handler even for non-RNDIS requests.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      75509570
    • David Brownell's avatar
      [PATCH] USB: usb gadget zero, basic OTG updates · 0601da86
      David Brownell authored
      This patch teaches "gadget zero" enough about OTG to pass simple USBCV
      tests, mostly by including OTG descriptors in each configuration.  It
      tests and reports OTG status, as reported by the USB controller driver.
      
      It also adds an option to build gadget zero to act as the designated
      OTG "HNP Test Device", which exists primarily to trigger HNP.  However,
      it won't currently request HNP.
      
      Includes other minor tweaks:  delete a timer on disconnect, reset
      the req->zero flag, don't autoresume after disconnect.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      0601da86
    • David Brownell's avatar
      [PATCH] USB: usb gadget API updates · 8ae7288e
      David Brownell authored
      Gadget API updates, including new features:
      
          -	Adds several new optional calls that can be made to the
      	USB peripheral controller:
      
      	    * VBUS session reporting, for use mostly by external
      	      transcievers (such as isp1301).  Detection of VBUS
      	      power is the first step in enumeration, and usually
      	      corresponds to a device being plugged into a hub.
      
      	    * "Soft Connect" feature, wherein the D+ pullup is under
      	      gadget driver control.  This is a second step during
      	      enumeration, which lets the hub see the new device.
      	      (Based on a patch by Alex Sanks <alex@netchip.com>.)
      
      	    * Control over VBUS current draw.  So for example this is
      	      what a gadget driver uses during SET_CONFIGURATION to
      	      say "it's OK to draw 300 mA from VBUS to recharge".
      
          -	Basic interfaces to support device-side USB OTG.  Feature
      	flags and descriptors are in <linux/usb_ch9.h> already.
      
      	    * Reports whether the device has a Mini-AB port, so
      	      that OTG support (desriptors etc) is required.
      
      	    * Reports OTG device feature flags for HNP.  (The OTG
      	      spec requires user interfaces to report this stuff.)
      	      Say if this is a B-Peripheral or an A-Peripheral.
      
      	    * Says that usb_gadget_wakeup() is how to access SRP,
      	      and usb_gadget_disconnect() is how to access HNP.
      
          -	Minor updates/cleanups to comments (Linux 2.5-->2.6 etc)
      
      Currently there's no support for SRP-only OTG devices.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      8ae7288e
    • David Brownell's avatar
      [PATCH] USB: usb gadgetfs, handle omap_udc · 7be306f0
      David Brownell authored
      Tell gadgetfs about omap_udc.
      Add some missing __user annotations.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      7be306f0
    • David Brownell's avatar
      [PATCH] USB: usb serial gadget, add omap_udc · d90c9ecc
      David Brownell authored
      This lets the serial gadget work with another controller.
      
      Tell serial about omap_udc.  This driver still needs updating to
      use the endpoint autoconfig suppport; like Gadget Zero, it
      really shouldn't need _any_ hardware-specific #ifdeffery.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      d90c9ecc
    • Linus Torvalds's avatar
      Merge http://jfs.bkbits.net/linux-2.5 · 9e9c96de
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      9e9c96de
    • Jeff Garzik's avatar
      Merge pobox.com:/spare/repo/linux-2.6 · fdb3675a
      Jeff Garzik authored
      into pobox.com:/spare/repo/net-drivers-2.6
      fdb3675a
    • Jeff Garzik's avatar
      Merge pobox.com:/spare/repo/netdev-2.6/misc · f55dfb3d
      Jeff Garzik authored
      into pobox.com:/spare/repo/net-drivers-2.6
      f55dfb3d
    • Janice M. Girouard's avatar
      71d5090c
    • Guennadi Liakhovetski's avatar
      e2effd3d
    • Jeff Garzik's avatar
      [netdrvr tg3] bump version and reldate · 56b32d0b
      Jeff Garzik authored
      56b32d0b
    • Anton Blanchard's avatar
      [PATCH] tg3 bug · 97975500
      Anton Blanchard authored
      During receive processing, the tg3 card updates rx_producer (the
      hardware position in the receive ring) and the opaque cookie. Due to PCI
      rules the stores happen in order. However the cpu may reorder the reads.
      
      In these sort of cases there is usually a data dependency between
      reading the index and looking up the data (since we use the index to
      load the data). I think all cpus except alpha guarantee the reads
      happen in order in this case.
      
      However in this particular case we load hw_idx, compare it to sw_idx and
      then use sw_idx to locate the opaque cookie. There is no data dependency
      in this case. We need a read memory barrier between the read of
      rx_producer and the opaque cookie to enforce ordering.
      
      Thanks to Olof Johansson, Michael Chan and Broadcom for their assistance
      in finding this bug.
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      97975500
    • Andrew Morton's avatar
      [PATCH] fix airo oops-on-removal · a4c553ed
      Andrew Morton authored
      From: Bill Nottingham <notting@redhat.com>
      
      airo creates /proc/driver/aironet/<device name> on device activation.
      However, the device can be renamed - then on teardown it tries to remove
      the wrong directory.  The removal of /proc/driver/aironet then runs afoul
      of the BUG_ON() in remove_proc_entry.
      
      This fixes it by keeping a copy of the name of the directory it created.
      
      (It doesn't actually solve the problem of the stats directory still being
      /proc/driver/aironet/eth0 when you rename the device to, say, 'joe'.  But
      that patch would be a little less trivial.)
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      a4c553ed
    • Margit Schubert-While's avatar
      [PATCH] prism54 Fix wrong type for BSSID · 94730894
      Margit Schubert-While authored
      2004-07-12 Margit Schubert-While <margitsw@t-online.de>
      
      * The OID type for BSSID was incorrectly set to type SSID.
        It should be type RAW. This lead to interesting reporting
        by "iwpriv ethX g_bssid".
        (Which caused garbage output and possibly an out of bound)
      
      * Be ultra-cautious in reporting SSID by changing the "%s"
        to "%.*s" and passing the length. (Prompted by the false
        type above, whereby length = 0 and a %s on a garbage field)
      94730894
    • Jeff Garzik's avatar
      Merge pobox.com:/spare/repo/netdev-2.6/sis900 · 394fdea7
      Jeff Garzik authored
      into pobox.com:/spare/repo/net-drivers-2.6
      394fdea7
    • Jeff Garzik's avatar
      Merge pobox.com:/spare/repo/netdev-2.6/forcedeth · b19c5a4c
      Jeff Garzik authored
      into pobox.com:/spare/repo/net-drivers-2.6
      b19c5a4c
    • Jeff Garzik's avatar
      Merge pobox.com:/spare/repo/netdev-2.6/natsemi · 2894ee53
      Jeff Garzik authored
      into pobox.com:/spare/repo/net-drivers-2.6
      2894ee53
    • Jeff Garzik's avatar
      [netdrvr dmfe] remove ALi pci id · 95877f38
      Jeff Garzik authored
      It's tulip driver, and tulip driver performs better than dmfe
      (yet some distro installers pick this driver to use).
      
      Requested by ALi.
      95877f38
    • Rusty Russell's avatar
      [PATCH] [TRIVIAL 2.6] sk98lin: kill dup include · e2539815
      Rusty Russell authored
       From:  a.othieno@bluewin.ch (Arthur Othieno)
      e2539815
    • Pavel Roskin's avatar
      [netdrvr pci-skeleton] refresh · 79218e71
      Pavel Roskin authored
      Here it is.  The patch fixes all compile errors and warnings in
      pci-skeleton.c.  The "debug" parameter lacks corresponding variable,
      so I removed it to avoid a warning on module load.  Obsolete
      pci_power_on() and pci_power_off() have been replaced with the new
      code using pci_set_power_state(), pci_save_state() and
      pci_restore_state().  The driver has been tested by compiling it as
      module and as part of the kernel.
      79218e71
    • Greg Kroah-Hartman's avatar
    • David Brownell's avatar
      [PATCH] USB: misc ohci tweaks · 56b4783d
      David Brownell authored
      Various minor OHCI tweaks;
      
          - Fix osdl bugid=2503 by:
      	* Change needlessly-scarey message (WARN_ON dumps stack)
      	* Tries cleaning up, as if it's just IRQ lossage.
      
          - Force IRQs off when shutting down a controller that was
            already stopped ... just in case.
      
          - Allow suspending OHCI during driver initialization, to
            support more aggressive power management.
      
          - Fix some misleading/wrong debug messages.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      56b4783d
    • David Brownell's avatar
      [PATCH] USB: usbnet, Sitecom LN-029 · 18d898df
      David Brownell authored
      ID for another AX8817x based usb2 Ethernet adapter.
      
      From:          Tim Chick <Tim.Chick@Conexant.com>
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      18d898df
    • David T. Hollis's avatar
      [PATCH] USB: ax8817x_unbind does not free the interrupt URB after unlinking · 4a9a678d
      David T. Hollis authored
      ax8817x_unbind does not free the interrupt URB after unlinking.
      
      Noticed that the net->status already has a flag for link so my
      private structure variable for link was redundant.  Worked around
      this and was able to kill off the unique ax8817x_get_link() function
      in the process.
      Signed-off-by: default avatarDavid Hollis <dhollis@davehollis.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      4a9a678d
    • David T. Hollis's avatar
      [PATCH] USB: usbnet:ax8817x - use interrupt URB for link detection · 8e9305b2
      David T. Hollis authored
      This patch uses the interrupt URB on the ax8817x for link detection.
      This allows the driver to notify userspace when link drops/comes back
      so it can take action such as run dhclient, etc.
      
      I was also able to reduce the bind function by using some of the stock
      mii_xxx calls as well as my own for handling initial link negotiation.
      Signed-off-by: default avatarDavid Hollis <dhollis@davehollis.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      8e9305b2