1. 24 Sep, 2003 8 commits
    • Greg Kroah-Hartman's avatar
    • David Brownell's avatar
      [PATCH] USB: usb_set_configuration() rework (v2) · d4c5af8d
      David Brownell authored
      This is the latest update of the patch resolving bugs in how device
      configurations were reflected in the driver model.  It addresses
      the last significant problems I know about in that area.
      
          - Moves code around so that usb_set_configuration() updates sysfs
            to reflect the current configuration.  Previously, that only
            worked right for the initial configuration chosen by khubd.
      
              * Previous interfaces are inaccessible.  The code to handle this
                moved from usb_disconnect() into usb_disable_device(), which
                is now called both on disconnect and set_configuration paths.
      
              * There are new interfaces.  The code to handle this moved
                from usb_new_device() into usb_set_configuration().
      
              * Resolves a double-refcount problem with USB interfaces,
                by not getting the extra reference in the first place
                and switching to use device_del() to disable interfaces.
      
              * Comments a similar double-refcount problem with usb
                devices (not interfaces).
      
            Its kerneldoc is updated appropriately.  The main point being
            that calling usb_set_configuration() in driver probe() methods
            is even more of a no-no, since it'll self-deadlock.
      
          - Sysfs names for USB interfaces now include the configuation
            number, so that user mode code can't get as easily confused.
      
            Old style:  "3-1:0" for configs 2 and 3 (interface zero).
            New style:  "3-1:2.0" for config 2, "3-3:3.0" for config 3.
      
          - Moves usb_new_device() code around a bit, so that the device
            is visible in sysfs before usb_set_configuration() is called.
            (Before the devices for that config's interfaces appear.)
      
          - Makes the bConfigurationValue be writable through sysfs, so
            device configurations can be easily changed from user mode.
            (Or devices can be de-configured, by setting config 0.)
      
            There are devices that can benefit from this functionality;
            notably, cdc-acm modems need it right now, so that they can
            be told to use the non-proprietary configuration.  (Since
            the old "change config in probe callback" trick won't work.)
      d4c5af8d
    • Ian Abbott's avatar
      [PATCH] USB: ftdi_sio - new vid/pid for OCT US101 USB to RS-232 converter · 71a5fd5d
      Ian Abbott authored
      Here are a couple of patches against a copy of Greg's usb-2.4 and
      usb-2.5 bk trees to add a VID/PID for Omnidirectional Control
      Technology's US101 USB to RS-232 converter.  This has also been
      rebadged by Dick Smith Electronics (New Zealand) as a XH6361 USB to
      serial converter.  Thanks to Donald Gordon for the info, which I
      have verified by checking the Windows INF files.
      71a5fd5d
    • Nicolas Kaiser's avatar
    • Nicolas Kaiser's avatar
    • Nicolas Kaiser's avatar
    • Nicolas Kaiser's avatar
    • Nicolas Kaiser's avatar
      86077e3f
  2. 23 Sep, 2003 32 commits
    • David Brownell's avatar
      [PATCH] USB: usb gadgetfs updates · 14fff3d3
      David Brownell authored
      Some small updates:
      
        - Sometimes read requests can be satisfied directly from
          the OUT fifo.  This fixes a bug where the return code
          from usb_ep_queue() overwrite the transfer status, which
          in that case was set _before_ that call returned.
          (Synchronous behavior; not the usual async completion.)
      
        - In the same vein,  usb_ep_dequeue() doesn't need to be
          synchronous -- though so far most controller drivers
          have implemented it that way.  So drop the spinlock
          before the wait_event() sleep.
      
        - Some debug messages are more useful AFTER the event
          than before.
      
        - The only descriptor fetches user mode drivers will
          need to handle are for string descriptors.  Stall all
          other requests, like ones for other-speed configs
          on single-speed devices.
      14fff3d3
    • David Brownell's avatar
      [PATCH] USB: usb "ether" net gadget · b680dcc3
      David Brownell authored
      Minor updates:
      
        - Reduce memory utilization in two ways:
      
           * Dynamically, by pre-allocating all the usb_request objects
             that will be used; if the pre-allocated ones are in use,
             then tx will throttle down.  This behaves better under
             heavy load.
      
           * Statically, by pre-allocating fewer such requests in the
             typical "no DMA queueing" case ... the best we can do is
             make sure that when the next completion IRQ fires, the
             controller already has a transfer ready.  Having queues
             deeper than two elements only helps if the CPU doesn't
             need to start each transfer by hand (as with net2280).
      
        - Diagnostics look more like other network driver diagnostics;
          they use the network interface name.
      b680dcc3
    • Chris Wright's avatar
      4cc26659
    • Daniele Bellucci's avatar
      [PATCH] USB: Minor cleanups in usb_serial_probe · 5e8569af
      Daniele Bellucci authored
      - on "probe" failure report back its return code rather than -ENODEV
      5e8569af
    • Alan Stern's avatar
      [PATCH] USB: improve debugging logging during suspend and resume · ee7d8010
      Alan Stern authored
      Here's a simple patch to improve logging during suspend and
      resume.
      ee7d8010
    • Henning Meier-Geinitz's avatar
      [PATCH] USB scanner driver: added USB_CLASS_CDC_DATA · 5e897bdd
      Henning Meier-Geinitz authored
      Added test for USB_CLASS_CDC_DATA which is used by some fingerprint
      scanners.
      5e897bdd
    • Henning Meier-Geinitz's avatar
      [PATCH] USB scanner driver: new device ids · c942b0f4
      Henning Meier-Geinitz authored
      Added vendor/product ids for Canon, HP, Microtek, Mustek, Siemens,
      UMAX, and Visioneer scanners.
      c942b0f4
    • Henning Meier-Geinitz's avatar
      [PATCH] USB scanner driver: balancing usb_register_dev/usb_deregister_dev · 4901ee4e
      Henning Meier-Geinitz authored
      Balancing usb_register_dev/usb_deregister_dev in probe_scanner when a
      fail condition occours (Daniele Bellucci).
      4901ee4e
    • Henning Meier-Geinitz's avatar
      [PATCH] USB scanner driver: report back return codes · c9e5993d
      Henning Meier-Geinitz authored
      Report back return codes of usb_register and usb_usbmit_urb instead of
      -1 or -ENONMEM (Daniele Bellucci).
      c9e5993d
    • Henning Meier-Geinitz's avatar
      [PATCH] USB scanner driver: use static declarations · 5cc25f27
      Henning Meier-Geinitz authored
      Use static declarations for usb_scanner_init/usb_scanner_exit
      (Daniele Bellucci).
      5cc25f27
    • Alexey Dobriyan's avatar
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/davem/sparc-2.5 · 4bee83fb
      Linus Torvalds authored
      into home.osdl.org:/home/torvalds/v2.5/linux
      4bee83fb
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/davem/net-2.5 · ab168caf
      Linus Torvalds authored
      into home.osdl.org:/home/torvalds/v2.5/linux
      ab168caf
    • Jens Axboe's avatar
      [PATCH] cdrom memory leaks · d3861d44
      Jens Axboe authored
      From Szombathelyi György
      
      This fixes a memory leak in the uniform cdrom layer.
      d3861d44
    • Jens Axboe's avatar
      [PATCH] ide-cd cgc command bug · 9f15e609
      Jens Axboe authored
      From Szombathelyi György
      
      This fixes a problem where the residual data count isn't being set
      correctly.
      9f15e609
    • Alexander Viro's avatar
      [PATCH] 32-bit dev_t: switch-over · 1c2c2a8f
      Alexander Viro authored
      Real conversion to 32bit dev_t.  Expansion to:
      	* mknod() - 32
      	* newstat() - 32 on 64bit platforms
      	* stat64() - 32 on mips, 64 on everything else (mips has weird struct
      stat64 and can't get more than 32 bits).  Note that right now the difference
      is purely theoretical - we don't have internal values above 32 bits, so
      huge_... vs. new_... only marks the places where 64bit conversion will need
      extra work.
      	* arch-dependent stat variants - depending on width available.
      	* ustat et.al. - 32
      	* filesystems that can handle 32 bits right now - 32
      	* ext2 and ext3 - 32, with large dev_t inodes having 0 in the first
      element of i_data[] (where we store dev_t value for small device numbers) and
      keeping the value in the second element.
      	* nfsd - 32; it can be driven to 64, but we'll get several issues with
      NFSv2 support.
      	* RAID - 32
      	* devmapper - with v1 it's still 16 (nothing to do here), with v4 it's
      64.
      	* loop - 64
      	* initramfs - 32
      	* do_mounts code - 32.  Parts that scan devfs tree are using newstat()
      on 64bit platforms and stat64() on the rest (IOW, the latest stat variant on
      given platform).
      	* old_valid_dev()/new_valid_dev() added where needed (stat variants,
      mostly - we fail with -EOVERFLOW if values do not fit).
      1c2c2a8f
    • Alexander Viro's avatar
      [PATCH] 32-bit dev_t: internal use · 40d2adc6
      Alexander Viro authored
      Starting the conversion:
      	* internal dev_t made 32bit.
      	* new helpers - new_encode_dev(), new_decode_dev(), huge_encode_dev(),
      huge_decode_dev(), new_valid_dev().  They do encoding/decoding of 32bit and
      64bit values; for now huge_... are aliases for new_... and new_valid_dev()
      is always true.  We do 12:20 for 32bit; representation is compatible with
      16bit one - we have major in bits 19--8 and minor in 31--20,7--0.  That's
      what the userland sees; internally we have (major << 20)|minor, of course.
      	* MKDEV(), MAJOR() and MINOR() updated.
      	* several places used to handle Missed'em'V dev_t (14:18 split)
      manually; that stuff had been taken into common helpers.
      	Now we can start replacing old_... with new_... and huge_..., depending
      on the width available.  MKDEV() callers should (for now) make sure that major
      and minor are within 12:20.  That's what the next chunk will do.
      40d2adc6
    • Alexander Viro's avatar
      [PATCH] prepare for 32-bit dev_t: stat() · 18d0c6d3
      Alexander Viro authored
      	Added old_encode_dev() to assorted stat() variants.
      	Fixed bug in s390 emulation on s390x: stat64() should never truncate
      UID and GID.
      	Ditto for i386 emulation on x86_64.
      	Replaced dev_t in various struct stat with explicit integer type.
      	Replaced __kernel_dev_t with __old_kernel_dev_t in dm-ioctl-v1.h
      	Now we are free to change dev_t in any way we want - on all boundaries
      we have explicit conversions.
      	Took __kernel_dev_t definition to linux/types.h and changed it with
      __u16.  We are ready to proceed to 32bit now.
      18d0c6d3
    • Alexander Viro's avatar
      [PATCH] prepare for 32-bit dev_t: CODA · 66c937f3
      Alexander Viro authored
      	Added old_encode_dev()/old_decode_dev() in CODA code - on assignments
      to/from ->va_rdev.
      66c937f3
    • Alexander Viro's avatar
      [PATCH] prepare for 32-bit dev_t: loop.c · 427e541d
      Alexander Viro authored
      	Added old_encode_dev() in loop.c
      427e541d
    • Alexander Viro's avatar
      [PATCH] prepare for 32-bit dev_t: mknod()/ustat() · 917bb5a1
      Alexander Viro authored
      	Changed sys_mknod() prototype to have unsigned int passed to it
      instead of current dev_t.  Added old_decode_dev() in sys_mknod() and
      made sure that its callers are passing it old_encode_dev(<value>)
      	Switched sys_ustat() and its variants from dev_t to unsigned (and
      added old_decode_dev()).
      	Took care of assignments to ROOT_DEV - again, old_decode_dev().
      	Late-boot search in devfs (call sys_newstat() and compare with
      st_rdev) also updated.
      917bb5a1
    • Alexander Viro's avatar
      3136f2b1
    • Alexander Viro's avatar
      [PATCH] prepare for 32-bit dev_t: dm-ioctl-*.c · 2d06a9e3
      Alexander Viro authored
      	Added old_encode_dev()/old_decode_dev() in dm-ioctl-*.c
      2d06a9e3
    • Alexander Viro's avatar
      [PATCH] prepare for 32-bit dev_t: md.c cleanups · 1684b4e9
      Alexander Viro authored
      	Minor cleanups in md.c + added old_decode_dev() on ioctl argument in
      there.
      1684b4e9
    • Alexander Viro's avatar
      [PATCH] prepare for 32-bit dev_t: jffs2 cleanups · 979cd1d1
      Alexander Viro authored
      	Minor cleanup of jffs2 fill_super.
      979cd1d1
    • Alexander Viro's avatar
      [PATCH] prepare for 32-bit dev_t: JFS · 9cc36375
      Alexander Viro authored
      	Added missing old_encode_dev() in JFS.
      9cc36375
    • Alexander Viro's avatar
      [PATCH] prepare for 32-bit dev_t: NFS · 9e213524
      Alexander Viro authored
      	NFS made dev_t-agnostic.  Aside of minor fixes in debugging printks,
      and adding old_encode_dev()/old_decode_dev(), the main part is in handling
      of exports with large dev_t.  New fhandle format introduced, fh_verify(),
      fh_compose() and exports cache taught to deal with it.  Format is used when
      ->s_dev of exported fs doesn't fit into 256:256; in that case we put major
      and minor in separate words in fhandle; ->fh_fsid_type is set to 2.
      9e213524
    • Alexander Viro's avatar
      [PATCH] prepare for 32-bit dev_t: tty usage · 7f904771
      Alexander Viro authored
      	tty->device had been used only in a couple of places and can be
      calculated by tty->index and tty->driver.  Field removed, its users switched
      to static inline dev_t tty_devnum(tty).
      7f904771
    • Alexander Viro's avatar
      [PATCH] prepare for 32-bit dev_t: XFS · 59dffd62
      Alexander Viro authored
      	sanitized dev_t use in debugging printks in XFS, switched their
      bhash to use of struct block_device, added old_encode_dev() in XFS statfs()
      (it had stored dev_t in ->fs_id[0])
      59dffd62
    • Alexander Viro's avatar
      [PATCH] prepare for 32-bit dev_t: drm debugging printks · 2c655bdf
      Alexander Viro authored
      	added old_encode_dev() in drm debugging printks, so they won't change
      when we go for bigger dev_t.
      2c655bdf
    • Alexander Viro's avatar
      [PATCH] prepare for 32-bit dev_t: reiserfs/procfs.c · 845602f8
      Alexander Viro authored
      	fs/reiserfs/procfs.c made sane.  It used to store dev_t of filesystem
      in the proc_dir_entry->data (which is void *) and played very odd games after
      that.
      	Switched to seq_file, stores pointer to superblock, uses sget() to
      validate it, avoids use of dev_t completely.
      845602f8
    • David S. Miller's avatar
      Merge davem@nuts.ninka.net:/disk1/davem/BK/sparc-2.5 · d7633636
      David S. Miller authored
      into kernel.bkbits.net:/home/davem/sparc-2.5
      d7633636