<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/usb/misc, branch v2.6.28.9</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>USB: emi26: fix oops on load</title>
<updated>2009-01-18T18:43:45+00:00</updated>
<author>
<name>Marcin Slusarz</name>
<email>marcin.slusarz@gmail.com</email>
</author>
<published>2009-01-04T12:25:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4569db1ebabbc7e6887c4837130df9c05cb7fb31'/>
<id>4569db1ebabbc7e6887c4837130df9c05cb7fb31</id>
<content type='text'>
commit 327d74f6b65ddc8a042c43c11fdd4be0bb354668 upstream.

Fix oops introduced by commit ae93a55bf948753de0bb8e43fa9c027f786abb05
(emi26: use request_firmware()):

usb 1-1: new full speed USB device using uhci_hcd and address 2
usb 1-1: configuration #1 chosen from 1 choice
emi26 - firmware loader 1-1:1.0: emi26_probe start
usb 1-1: firmware: requesting emi26/loader.fw
usb 1-1: firmware: requesting emi26/bitstream.fw
usb 1-1: firmware: requesting emi26/firmware.fw
usb 1-1: emi26_set_reset - 1
usb 1-1: emi26_set_reset - 0
BUG: unable to handle kernel NULL pointer dereference at 00000000
IP: [&lt;f80dc487&gt;] emi26_probe+0x2f7/0x620 [emi26]
*pde = 00000000
Oops: 0000 [#1] SMP
last sysfs file: /sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/firmware/1-1/loading
Modules linked in: emi26(+) ipv6 cpufreq_ondemand coretemp arc4 ecb iwl3945 irtty_sir sir_dev nsc_ircc ehci_hcd uhci_hcd mac80211 irda usbcore snd_hda_intel thinkpad_acpi rfkill hwmon led_class e1000e snd_pcm cfg80211 snd_timer crc_ccitt snd snd_page_alloc aes_generic

Pid: 5082, comm: modprobe Not tainted (2.6.28 #2) 17023QG
EIP: 0060:[&lt;f80dc487&gt;] EFLAGS: 00010206 CPU: 0
EIP is at emi26_probe+0x2f7/0x620 [emi26]
EAX: 0000015c EBX: 00000000 ECX: c1ffd9c0 EDX: 00000000
ESI: 0000015c EDI: f6bb215c EBP: f6bb0400 ESP: f00ebcfc
 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process modprobe (pid: 5082, ti=f00ea000 task=f5c7c700 task.ti=f00ea000)
Stack:
 0000015c 000000a5 f6a67cb8 f80dc7e0 c01c6262 fbef2986 f6bb2000 00008fe0
 0000015c f715f748 f715f740 f715f738 f715f748 f6a67c00 f80dd040 f80dcfc0
 f6bb0400 fbacb290 f6a67c94 fbae0160 c01c70bf 00000000 f6a67c1c 00000000
Call Trace:
 [&lt;c01c6262&gt;] sysfs_add_one+0x12/0x50
 [&lt;fbacb290&gt;] usb_probe_interface+0xa0/0x140 [usbcore]
 [&lt;c01c70bf&gt;] sysfs_create_link+0xf/0x20
 [&lt;c02dead2&gt;] driver_probe_device+0x82/0x180
 [&lt;fbac9eeb&gt;] usb_match_id+0x3b/0x50 [usbcore]
 [&lt;c02dec4e&gt;] __driver_attach+0x7e/0x80
 [&lt;c02de27a&gt;] bus_for_each_dev+0x3a/0x60
 [&lt;c02de956&gt;] driver_attach+0x16/0x20
 [&lt;c02debd0&gt;] __driver_attach+0x0/0x80
 [&lt;c02de7b1&gt;] bus_add_driver+0x1a1/0x220
 [&lt;c02dee4d&gt;] driver_register+0x4d/0x120
 [&lt;c024e622&gt;] idr_get_empty_slot+0xf2/0x290
 [&lt;fbacab71&gt;] usb_register_driver+0x81/0x100 [usbcore]
 [&lt;f806c000&gt;] emi26_init+0x0/0x14 [emi26]
 [&lt;c0101126&gt;] do_one_initcall+0x36/0x1b0
 [&lt;c01c5e70&gt;] sysfs_ilookup_test+0x0/0x10
 [&lt;c0197a61&gt;] ifind+0x31/0x90
 [&lt;c01c6229&gt;] __sysfs_add_one+0x59/0x80
 [&lt;c01c64e4&gt;] sysfs_addrm_finish+0x14/0x1c0
 [&lt;c0175ca3&gt;] __vunmap+0xa3/0xd0
 [&lt;c014b854&gt;] load_module+0x1544/0x1640
 [&lt;c014b9d7&gt;] sys_init_module+0x87/0x1b0
 [&lt;c0187f41&gt;] sys_read+0x41/0x70
 [&lt;c01032a5&gt;] sysenter_do_call+0x12/0x21
 [&lt;c03d0000&gt;] wait_for_common+0x40/0x110
Code: 66 c1 e8 08 66 09 d0 75 a5 31 d2 89 e8 e8 72 fc ff ff 85 c0 0f 88 9a 02 00 00 b8 fa 00 00 00 e8 30 46 05 c8 8b 74 24 28 8b 5e 04 &lt;8b&gt; 03 89 44 24 1c 0f c8 89 44 24 1c 0f b7 4b 04 c7 44 24 20 00
EIP: [&lt;f80dc487&gt;] emi26_probe+0x2f7/0x620 [emi26] SS:ESP 0068:f00ebcfc
---[ end trace 2eefa13825431230 ]---

After the last "package" of firmware data is sent to the device, we dereference
NULL pointer (on access to rec-&gt;addr). Fix it.

Reported--by: David Flatz &lt;david@upcs.at&gt;
Tested-by: David Flatz &lt;david@upcs.at&gt;
Signed-off-by: Marcin Slusarz &lt;marcin.slusarz@gmail.com&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 327d74f6b65ddc8a042c43c11fdd4be0bb354668 upstream.

Fix oops introduced by commit ae93a55bf948753de0bb8e43fa9c027f786abb05
(emi26: use request_firmware()):

usb 1-1: new full speed USB device using uhci_hcd and address 2
usb 1-1: configuration #1 chosen from 1 choice
emi26 - firmware loader 1-1:1.0: emi26_probe start
usb 1-1: firmware: requesting emi26/loader.fw
usb 1-1: firmware: requesting emi26/bitstream.fw
usb 1-1: firmware: requesting emi26/firmware.fw
usb 1-1: emi26_set_reset - 1
usb 1-1: emi26_set_reset - 0
BUG: unable to handle kernel NULL pointer dereference at 00000000
IP: [&lt;f80dc487&gt;] emi26_probe+0x2f7/0x620 [emi26]
*pde = 00000000
Oops: 0000 [#1] SMP
last sysfs file: /sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/firmware/1-1/loading
Modules linked in: emi26(+) ipv6 cpufreq_ondemand coretemp arc4 ecb iwl3945 irtty_sir sir_dev nsc_ircc ehci_hcd uhci_hcd mac80211 irda usbcore snd_hda_intel thinkpad_acpi rfkill hwmon led_class e1000e snd_pcm cfg80211 snd_timer crc_ccitt snd snd_page_alloc aes_generic

Pid: 5082, comm: modprobe Not tainted (2.6.28 #2) 17023QG
EIP: 0060:[&lt;f80dc487&gt;] EFLAGS: 00010206 CPU: 0
EIP is at emi26_probe+0x2f7/0x620 [emi26]
EAX: 0000015c EBX: 00000000 ECX: c1ffd9c0 EDX: 00000000
ESI: 0000015c EDI: f6bb215c EBP: f6bb0400 ESP: f00ebcfc
 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process modprobe (pid: 5082, ti=f00ea000 task=f5c7c700 task.ti=f00ea000)
Stack:
 0000015c 000000a5 f6a67cb8 f80dc7e0 c01c6262 fbef2986 f6bb2000 00008fe0
 0000015c f715f748 f715f740 f715f738 f715f748 f6a67c00 f80dd040 f80dcfc0
 f6bb0400 fbacb290 f6a67c94 fbae0160 c01c70bf 00000000 f6a67c1c 00000000
Call Trace:
 [&lt;c01c6262&gt;] sysfs_add_one+0x12/0x50
 [&lt;fbacb290&gt;] usb_probe_interface+0xa0/0x140 [usbcore]
 [&lt;c01c70bf&gt;] sysfs_create_link+0xf/0x20
 [&lt;c02dead2&gt;] driver_probe_device+0x82/0x180
 [&lt;fbac9eeb&gt;] usb_match_id+0x3b/0x50 [usbcore]
 [&lt;c02dec4e&gt;] __driver_attach+0x7e/0x80
 [&lt;c02de27a&gt;] bus_for_each_dev+0x3a/0x60
 [&lt;c02de956&gt;] driver_attach+0x16/0x20
 [&lt;c02debd0&gt;] __driver_attach+0x0/0x80
 [&lt;c02de7b1&gt;] bus_add_driver+0x1a1/0x220
 [&lt;c02dee4d&gt;] driver_register+0x4d/0x120
 [&lt;c024e622&gt;] idr_get_empty_slot+0xf2/0x290
 [&lt;fbacab71&gt;] usb_register_driver+0x81/0x100 [usbcore]
 [&lt;f806c000&gt;] emi26_init+0x0/0x14 [emi26]
 [&lt;c0101126&gt;] do_one_initcall+0x36/0x1b0
 [&lt;c01c5e70&gt;] sysfs_ilookup_test+0x0/0x10
 [&lt;c0197a61&gt;] ifind+0x31/0x90
 [&lt;c01c6229&gt;] __sysfs_add_one+0x59/0x80
 [&lt;c01c64e4&gt;] sysfs_addrm_finish+0x14/0x1c0
 [&lt;c0175ca3&gt;] __vunmap+0xa3/0xd0
 [&lt;c014b854&gt;] load_module+0x1544/0x1640
 [&lt;c014b9d7&gt;] sys_init_module+0x87/0x1b0
 [&lt;c0187f41&gt;] sys_read+0x41/0x70
 [&lt;c01032a5&gt;] sysenter_do_call+0x12/0x21
 [&lt;c03d0000&gt;] wait_for_common+0x40/0x110
Code: 66 c1 e8 08 66 09 d0 75 a5 31 d2 89 e8 e8 72 fc ff ff 85 c0 0f 88 9a 02 00 00 b8 fa 00 00 00 e8 30 46 05 c8 8b 74 24 28 8b 5e 04 &lt;8b&gt; 03 89 44 24 1c 0f c8 89 44 24 1c 0f b7 4b 04 c7 44 24 20 00
EIP: [&lt;f80dc487&gt;] emi26_probe+0x2f7/0x620 [emi26] SS:ESP 0068:f00ebcfc
---[ end trace 2eefa13825431230 ]---

After the last "package" of firmware data is sent to the device, we dereference
NULL pointer (on access to rec-&gt;addr). Fix it.

Reported--by: David Flatz &lt;david@upcs.at&gt;
Tested-by: David Flatz &lt;david@upcs.at&gt;
Signed-off-by: Marcin Slusarz &lt;marcin.slusarz@gmail.com&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: SISUSB2VGA driver: add 0x0711, 0x0903</title>
<updated>2008-11-13T22:45:03+00:00</updated>
<author>
<name>Albert Comerma</name>
<email>albert@ecm.ub.es</email>
</author>
<published>2008-11-04T18:44:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=859ff4072027ea7741121b902c59763f090e00c2'/>
<id>859ff4072027ea7741121b902c59763f090e00c2</id>
<content type='text'>
Signed-off-by: Albert Comerma &lt;albert.comerma@gmail.com&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Cc: David Brownell &lt;david-b@pacbell.net&gt;
Cc: Mauro Carvalho Chehab &lt;mchehab@infradead.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Albert Comerma &lt;albert.comerma@gmail.com&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Cc: David Brownell &lt;david-b@pacbell.net&gt;
Cc: Mauro Carvalho Chehab &lt;mchehab@infradead.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: vstusb: fix compiler warning on x86-64</title>
<updated>2008-11-13T22:45:00+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@suse.de</email>
</author>
<published>2008-10-31T17:09:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6c5ab376b0b579cf58f9217dcd7a94d817f7a043'/>
<id>6c5ab376b0b579cf58f9217dcd7a94d817f7a043</id>
<content type='text'>
This fixes a reported compiler warning.

Reported-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a reported compiler warning.

Reported-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: usbtest.c: length, sglen and vary are unsigned, so cannot be negative</title>
<updated>2008-10-22T17:05:28+00:00</updated>
<author>
<name>roel kluin</name>
<email>roel.kluin@gmail.com</email>
</author>
<published>2008-10-21T04:36:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8aafdf6a1528b0672a0527be473d9be5a12289d3'/>
<id>8aafdf6a1528b0672a0527be473d9be5a12289d3</id>
<content type='text'>
length, sglen and vary are unsigned, so cannot be negative

see
vi drivers/usb/misc/usbtest.c +18
struct usbtest_param {
...
        unsigned                iterations;
        unsigned                length;
        unsigned                vary;
        unsigned                sglen;
...
};

Signed-off-by: Roel Kluin &lt;roel.kluin@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
length, sglen and vary are unsigned, so cannot be negative

see
vi drivers/usb/misc/usbtest.c +18
struct usbtest_param {
...
        unsigned                iterations;
        unsigned                length;
        unsigned                vary;
        unsigned                sglen;
...
};

Signed-off-by: Roel Kluin &lt;roel.kluin@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: remove err() macro from usb misc drivers</title>
<updated>2008-10-17T21:41:13+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@suse.de</email>
</author>
<published>2008-08-14T16:37:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fd3f1917e345d852ef9ae36178719f4e639f70ae'/>
<id>fd3f1917e345d852ef9ae36178719f4e639f70ae</id>
<content type='text'>
USB should not be having it's own printk macros, so remove err() and
use the system-wide standard of dev_err() wherever possible.  In the
few places that will not work out, use a basic printk().

Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
USB should not be having it's own printk macros, so remove err() and
use the system-wide standard of dev_err() wherever possible.  In the
few places that will not work out, use a basic printk().

Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: remove info() macro from usb/misc drivers</title>
<updated>2008-10-17T21:41:09+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@suse.de</email>
</author>
<published>2008-08-18T20:21:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1b29a375fb0b79a11a2d18e7bf5f6da422a35025'/>
<id>1b29a375fb0b79a11a2d18e7bf5f6da422a35025</id>
<content type='text'>
USB should not be having it's own printk macros, so remove info() and
use the system-wide standard of dev_info() wherever possible.

Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
USB should not be having it's own printk macros, so remove info() and
use the system-wide standard of dev_info() wherever possible.

Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: remove warn() macro from usb drivers</title>
<updated>2008-10-17T21:41:09+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@suse.de</email>
</author>
<published>2008-08-14T16:37:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3b6004f3b5a8b4506fa8dee29667aed44913a990'/>
<id>3b6004f3b5a8b4506fa8dee29667aed44913a990</id>
<content type='text'>
USB should not be having it's own printk macros, so remove warn() and
use the system-wide standard of dev_warn() wherever possible.  In the
few places that will not work out, use a basic printk().

Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
USB should not be having it's own printk macros, so remove warn() and
use the system-wide standard of dev_warn() wherever possible.  In the
few places that will not work out, use a basic printk().

Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: fix up problems in the vtusb driver</title>
<updated>2008-10-17T21:41:04+00:00</updated>
<author>
<name>Stephen Ware</name>
<email>stephen.ware@eqware.net</email>
</author>
<published>2008-10-08T17:53:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=84dcd594952bf9b95b3901516a61e57abdf54d62'/>
<id>84dcd594952bf9b95b3901516a61e57abdf54d62</id>
<content type='text'>
Add range check on buffer sizes passed in from user space
(max is 8*PAGE_SIZE) which will work for the most common
spectrometers even at pages as small as 1K.

Add kref to vst device structure to preserve reference to the
usb object until we truly are done with it.

From: Stephen Ware &lt;stephen.ware@eqware.net&gt;
From: Dennis O'Brien &lt;dennis.obrien@eqware.net&gt;
Signed-off-by: Dennis O'Brien &lt;dennis.obrien@eqware.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add range check on buffer sizes passed in from user space
(max is 8*PAGE_SIZE) which will work for the most common
spectrometers even at pages as small as 1K.

Add kref to vst device structure to preserve reference to the
usb object until we truly are done with it.

From: Stephen Ware &lt;stephen.ware@eqware.net&gt;
From: Dennis O'Brien &lt;dennis.obrien@eqware.net&gt;
Signed-off-by: Dennis O'Brien &lt;dennis.obrien@eqware.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: ftdi-elan: Always pass usb_bulk_msg() a timeout in milliseconds.</title>
<updated>2008-10-17T21:41:02+00:00</updated>
<author>
<name>Sarah Sharp</name>
<email>sarah.a.sharp@linux.intel.com</email>
</author>
<published>2008-09-29T17:58:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c0f082c5367a02e8493d779e16ad336167e14718'/>
<id>c0f082c5367a02e8493d779e16ad336167e14718</id>
<content type='text'>
The kernel doc for usb_bulk_msg() says the timeout for a bulk message should be
specified in milliseconds.  The ftdi-elan driver converts milliseconds to
jiffies before passing the timeout to usb_bulk_msg().  This is mostly harmless,
since it will just lead to very long timeouts, but was obviously not the intent
of the original author.

Signed-off-by: Sarah Sharp &lt;sarah.a.sharp@intel.com&gt;
Acked-by: Tony Olech &lt;tony.olech@elandigitalsystems.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The kernel doc for usb_bulk_msg() says the timeout for a bulk message should be
specified in milliseconds.  The ftdi-elan driver converts milliseconds to
jiffies before passing the timeout to usb_bulk_msg().  This is mostly harmless,
since it will just lead to very long timeouts, but was obviously not the intent
of the original author.

Signed-off-by: Sarah Sharp &lt;sarah.a.sharp@intel.com&gt;
Acked-by: Tony Olech &lt;tony.olech@elandigitalsystems.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>usb: vstusb.c : new driver for spectrometers used by Vernier Software &amp; Technology, Inc.</title>
<updated>2008-10-17T21:41:01+00:00</updated>
<author>
<name>Stephen Ware</name>
<email>stephen.ware@eqware.net</email>
</author>
<published>2008-09-30T18:39:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cbc30118d7a376dab4113f299c0c8f035737a5c3'/>
<id>cbc30118d7a376dab4113f299c0c8f035737a5c3</id>
<content type='text'>
This patch adds the vstusb driver to the drivers/usb/misc directory.
This driver provides support for Vernier Software &amp; Technology
spectrometers, all made by Ocean Optics. The driver provides both IOCTL
and read()/write() methods for sending raw data to spectrometers across
the bulk channel. Each method allows for a configured timeout.

From: Stephen Ware &lt;stephen.ware@eqware.net&gt;
Signed-off-by: Dennis O'Brien &lt;dennis.obrien@eqware.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds the vstusb driver to the drivers/usb/misc directory.
This driver provides support for Vernier Software &amp; Technology
spectrometers, all made by Ocean Optics. The driver provides both IOCTL
and read()/write() methods for sending raw data to spectrometers across
the bulk channel. Each method allows for a configured timeout.

From: Stephen Ware &lt;stephen.ware@eqware.net&gt;
Signed-off-by: Dennis O'Brien &lt;dennis.obrien@eqware.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;


</pre>
</div>
</content>
</entry>
</feed>
