History log of /drivers/staging/quatech_usb2/quatech_usb2.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f136e8b61c205fa6dccdc45fbda372f3acb2b5ab 28-Feb-2012 Greg Kroah-Hartman <gregkh@linuxfoundation.org> USB: serial: quatech_usb2.c: use module_usb_serial_driver

This converts the quatech_usb2.c driver to use the module_usb_serial_driver() call
instead of having to have a module_init/module_exit function, saving a lot
of duplicated code.

CC: Lucas De Marchi <lucas.demarchi@profusion.mobi>
CC: Rusty Russell <rusty@rustcorp.com.au>
CC: Alan Stern <stern@rowland.harvard.edu>
CC: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
/drivers/staging/quatech_usb2/quatech_usb2.c
69276a33bd1d272dc9c3bd577038954811bd1831 23-Feb-2012 Alan Stern <stern@rowland.harvard.edu> usb-serial: use new registration API in staging drivers

This patch (as1530) modifies the following usb-serial drivers from
drivers/staging to utilize the new usb_serial_{de}register_drivers()
routines:

quatech_usb2 and serqt_usb2.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
/drivers/staging/quatech_usb2/quatech_usb2.c
90ab5ee94171b3e28de6bb42ee30b527014e0be7 13-Jan-2012 Rusty Russell <rusty@rustcorp.com.au> module_param: make bool parameters really bool (drivers & misc)

module_param(bool) used to counter-intuitively take an int. In
fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy
trick.

It's time to remove the int/unsigned int option. For this version
it'll simply give a warning, but it'll break next kernel version.

Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
/drivers/staging/quatech_usb2/quatech_usb2.c
e8df1674d383d2ecc6efa8d7dba74c03aafdfdd7 14-Sep-2011 Kautuk Consul <consul.kautuk@gmail.com> staging: quatech_usb2: Potential lost wakeup scenario in TIOCMIWAIT

If the usermode app does an ioctl over this serial device by
using TIOCMIWAIT, then the code will wait by setting the current
task state to TASK_INTERRUPTIBLE and then calling schedule().
This will be woken up by the qt2_process_modem_status on URB
completion when the port_extra->shadowMSR is set to the new
modem status.

However, this could result in a lost wakeup scenario due to a race
in the logic in the qt2_ioctl(TIOCMIWAIT) loop and the URB completion
for new modem status in qt2_process_modem_status.
Due to this, the usermode app's task will continue to sleep despite a
change in the modem status.

Signed-off-by: Kautuk Consul <consul.kautuk@gmail.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
25985edcedea6396277003854657b5f3cb31a628 31-Mar-2011 Lucas De Marchi <lucas.demarchi@profusion.mobi> Fix common misspellings

Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
/drivers/staging/quatech_usb2/quatech_usb2.c
6445ced8670f37cfc2c5e24a9de9b413dbfc788d 16-Mar-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6

* 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (961 commits)
staging: hv: fix memory leaks
staging: hv: Remove NULL check before kfree
Staging: hv: Get rid of vmbus_child_dev_add()
Staging: hv: Change the signature for vmbus_child_device_register()
Staging: hv: Get rid of vmbus_cleanup() function
Staging: hv: Get rid of vmbus_dev_rm() function
Staging: hv: Change the signature for vmbus_on_isr()
Staging: hv: Eliminate vmbus_event_dpc()
Staging: hv: Get rid of the function vmbus_msg_dpc()
Staging: hv: Change the signature for vmbus_cleanup()
Staging: hv: Simplify root device management
staging: rtl8192e: Don't copy dev pointer to skb
staging: rtl8192e: Pass priv to cmdpkt functions
staging: rtl8192e: Pass priv to firmware download functions
staging: rtl8192e: Pass priv to rtl8192_interrupt
staging: rtl8192e: Pass rtl8192_priv to dm functions
staging: rtl8192e: Pass ieee80211_device to callbacks
staging: rtl8192e: Pass ieee80211_device to callbacks
staging: rtl8192e: Pass ieee80211_device to callbacks
staging: rtl8192e: Pass ieee80211_device to callbacks
...
f9560042621fe0ce8bef3242f710662fac438104 10-Feb-2011 Uwe Kleine-König <u.kleine-koenig@pengutronix.de> staging/trivial: fix typos concerning "implementation"

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
00a0d0d65b61241a718d0aee96f46b9a2d93bf26 14-Feb-2011 Alan Cox <alan@linux.intel.com> tty: remove filp from the USB tty ioctls

We don't use it so we can trim it from here as we try and stamp the file
object dependencies out of the serial code.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
20b9d17715017ae4dd4ec87fabc36d33b9de708e 14-Feb-2011 Alan Cox <alan@linux.intel.com> tiocmset: kill the file pointer argument

Doing tiocmget was such fun we should do tiocmset as well for the same
reasons

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
60b33c133ca0b7c0b6072c87234b63fee6e80558 14-Feb-2011 Alan Cox <alan@linux.intel.com> tiocmget: kill off the passing of the struct file

We don't actually need this and it causes problems for internal use of
this functionality. Currently there is a single use of the FILE * pointer.
That is the serial core which uses it to check tty_hung_up_p. However if
that is true then IO_ERROR is also already set so the check may be removed.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
9b0131cb24182ef6cc478a89fc56fc6e004651e7 01-Sep-2010 Uwe Kleine-König <u.kleine-koenig@pengutronix.de> staging/trivial: fix typos concerning "initiali[zs]e"

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
3457912e0e4d42297aa37fe27a331516b684e91c 31-Jul-2010 Javier Martinez Canillas <martinez.javier@gmail.com> Staging: quatech_usb2: remove unused qt2_box_flush function

In today linux-next I got a compilation warning:

drivers/staging/quatech_usb2/quatech_usb2.c:1852: warning:
‘qt2_box_flush’ defined but not used

Signed-off-by: Javier Martinez Canillas <martinez.javier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
08db6c59a2d4d8162d7544ffaa9aa7d27ce9e50a 30-Mar-2010 Soeren Moeller <soerenmoeller2001@gmail.com> Staging: quatech_usb2: fix coding style issues

This is a patch to the file quatech_usb2.c that fixes two space before
tabular and one line of more than 80 characters warnings found by
checkpatch.pl

Signed-off-by: Soeren Moeller <soerenmoeller2001@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
a457732b836b970c82c7ba35b4cfc938c9c543f9 10-Jan-2010 Németh Márton <nm127@freemail.hu> staging: make USB device id constant

The id_table field of the struct usb_device_id is constant in <linux/usb.h>
so it is worth to make the initialization data also constant.

The semantic match that finds this kind of pattern is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
disable decl_init,const_decl_init;
identifier I1, I2, x;
@@
struct I1 {
...
const struct I2 *x;
...
};
@s@
identifier r.I1, y;
identifier r.x, E;
@@
struct I1 y = {
.x = E,
};
@c@
identifier r.I2;
identifier s.E;
@@
const struct I2 E[] = ... ;
@depends on !c@
identifier r.I2;
identifier s.E;
@@
+ const
struct I2 E[] = ...;
// </smpl>

Signed-off-by: Németh Márton <nm127@freemail.hu>
Cc: Julia Lawall <julia@diku.dk>
Cc: cocci@diku.dk
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
bbc9a9916bc1cd997f3bf303e7930d5f3c804d37 14-Nov-2009 André Goddard Rosa <andre.goddard@gmail.com> Staging: fix assorted typos all over the place

Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
560a9be8320ab632c7d1dac058662f6c82e5676a 20-Aug-2009 Richard Ash <richard@audacityteam.org> Staging: quatech_usb2: Improvements to set_termios method

This patch implements several improvements to the set_termios method
suggested by Alan Cox:
* Correct check for whether any changes are being requested.
* Inform callers that mark/space parity isn't supported by always
clearing the bit.
* Pass back the actual used baud rate in case it doesn't match what was
requested.

Remaining known issues are that IXANY flow control is not supported, but
we don't tell the caller that, and input and output XON/XOFF flow
control are either both on or both off, but we don't indicate that back
to the caller either.

Signed-off-by: Richard Ash <richard@audacityteam.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
eba1aaddc0fd427d62f51747c6ec5f965ef5dc56 20-Aug-2009 Richard Ash <richard@audacityteam.org> Staging: quatech_usb2: Improve debug output and fix write_room

This patch contains changes made in the course of successfully reading
data from the device. These consist of a number of corrections and
additions to debug messages, and a fix for incorrect calculation of the
number of characters in the device FIFO which affected the operation of
the write_room method.
The use of semaphores to control access to port settings is replaced by
the preferred use of mutexes as this is the only code that uses them.

Aug 18 17:09:32 [kernel] BUG: unable to handle kernel paging request at f82f122c
Aug 18 17:09:32 [kernel] IP: [<c11e1a63>] tty_port_close_start+0x8c/0x15e
Aug 18 17:09:32 [kernel] *pde = 00000000
Aug 18 17:09:32 [kernel] Modules linked in: snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss nls_iso8859_1 cifs xt_limit xt_NFLOG nfnetlink_log nfnetlink xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack iptable_filter ip_tables x_tables i915 fb drm i2c_algo_bit cfbcopyarea i2c_core video backlight output cfbimgblt cfbfillrect quatech_usb2(C) usbserial uhci_hcd ehci_hcd snd_intel8x0 snd_ac97_codec ac97_bus usbcore tg3 snd_pcm snd_timer libphy snd intel_agp psmouse evdev ohci1394 soundcore ide_cd_mod cdrom ieee1394 snd_page_alloc agpgart floppy
Aug 18 17:09:32 [kernel] Pid: 4192, comm: cat Tainted: G C (2.6.31-rc6-gkh #9) HP Compaq dc5100 MT(PW097ET)
Aug 18 17:09:32 [kernel] EIP: 0060:[<c11e1a63>] EFLAGS: 00010046 CPU: 0
Aug 18 17:09:32 [kernel] EIP is at tty_port_close_start+0x8c/0x15e
Aug 18 17:09:32 [kernel] EAX: 00000000 EBX: 00000246 ECX: ebacc380 EDX: 00000000
Aug 18 17:09:32 [kernel] ESI: f72f1204 EDI: e6073000 EBP: e60b3ce4 ESP: e60b3ccc
Aug 18 17:09:32 [kernel] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068
Aug 18 17:09:32 [kernel] bcc17886 e60b3d2c bcc17886 f72f1200 f72f1204 e6073000 e60b3d10 f8b01a67
Aug 18 17:09:32 [kernel] <0> 00000000 e60b3d10 c11d9343 e60730a0 ebacc380 bcc17886 e6073000 00000000
Aug 18 17:09:32 [kernel] <0> ebacc380 e60b3d90 c11da71c 00000000 f7802480 bcc17886 ebacc380 00000000
Aug 18 17:09:32 [kernel] [<f8b01a67>] ? serial_close+0x3c/0x9a [usbserial]
Aug 18 17:09:32 [kernel] [<c11d9343>] ? tty_fasync+0x63/0xe3
Aug 18 17:09:32 [kernel] [<c11da71c>] ? tty_release_dev+0x159/0x47d
Aug 18 17:09:32 [kernel] [<c11804c5>] ? prio_tree_remove+0x6c/0xc5
Aug 18 17:09:32 [kernel] [<c1081c5f>] ? put_object+0x46/0x5e
Aug 18 17:09:32 [kernel] [<c11daa59>] ? tty_release+0x19/0x35
Aug 18 17:09:32 [kernel] [<c1086836>] ? __fput+0xed/0x1e4
Aug 18 17:09:32 [kernel] [<c1086951>] ? fput+0x24/0x39
Aug 18 17:09:32 [kernel] [<c108375e>] ? filp_close+0x4c/0x7b
Aug 18 17:09:32 [kernel] [<c1028076>] ? put_files_struct+0xc3/0xd2
Aug 18 17:09:32 [kernel] [<c10280b1>] ? exit_files+0x2c/0x40
Aug 18 17:09:32 [kernel] [<c1028551>] ? do_exit+0xd0/0x5f5
Aug 18 17:09:32 [kernel] [<c1031751>] ? recalc_sigpending+0x1b/0x4b
Aug 18 17:09:32 [kernel] [<c1031b8b>] ? dequeue_signal+0x96/0x154
Aug 18 17:09:32 [kernel] [<c1028ab1>] ? do_group_exit+0x3b/0x77
Aug 18 17:09:32 [kernel] [<c1032ec3>] ? get_signal_to_deliver+0x140/0x31b
Aug 18 17:09:32 [kernel] [<c11d90af>] ? tty_put_char+0x43/0x4b
Aug 18 17:09:32 [kernel] [<c1002633>] ? do_notify_resume+0xae/0x7fb
Aug 18 17:09:32 [kernel] [<c11dabcd>] ? tty_read+0x8f/0xb5
Aug 18 17:09:32 [kernel] [<c11dd0be>] ? n_tty_read+0x0/0x5d2
Aug 18 17:09:32 [kernel] [<c1085560>] ? vfs_read+0xb4/0x178
Aug 18 17:09:32 [kernel] [<c11dab3e>] ? tty_read+0x0/0xb5
Aug 18 17:09:32 [kernel] [<c10856e4>] ? sys_read+0x52/0x8b
Aug 18 17:09:32 [kernel] [<c1002f6a>] ? work_notifysig+0x13/0x19
Aug 18 17:09:32 [kernel] ---[ end trace 16f434ec7e2925bc ]---
Aug 18 17:09:32 [kernel] Fixing recursive fault but reboot is needed!

My guess is that my driver is doing something "wrong" in terms of it's
interface to the higher level layers and so is causing the oops. Are
there any mechanisms to turn on more checking / debugging in the layers
above the usb-serial layer to try and catch the cause of the problem?
I've already got USB_DEBUG enabled, what others might be relevant
(presumably USB_SERIAL_DEBUG isn't)?

Signed-off-by: Richard Ash <richard@audacityteam.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
d3f0e10a702defea05b6c3277ec6326c87138e82 20-Aug-2009 Richard Ash <richard@audacityteam.org> Staging: quatech_usb2: vendor implementation of break_ctl

This patch imports the implementation of the break_ctl, throttle and
unthrottle methods from the vendor driver into the staging driver. This
compiles but is not yet tested.

Signed-off-by: Richard Ash <richard@audacityteam.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
2715dd6a93c69b29f59bec4c6e2fca84883078f0 20-Aug-2009 Richard Ash <richard@audacityteam.org> Staging: quatech_usb2: vendor implementation of set_termios method

This patch imports the implementation of the set_termios method from the
vendor driver into the staging driver. The common terminal setting
changes should be supported.

Signed-off-by: Richard Ash <richard@audacityteam.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
2feb633d6580d8e6a61890bef1c0ea9020e61225 17-Aug-2009 Richard Ash <richard@audacityteam.org> Staging: quatech_usb2: chars_in_buffer() fix

It seems I can't count.

Patch to fix chars_in_buffer() method (broken in vendor driver), and
subsequently simplify the close() method, making it somewhat less
broken. There is quite a bit more improvement to do on this method
though.

Signed-off-by: Richard Ash <richard@audacityteam.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
dbe2481580a6933c07627d4da0d20db5fd05a044 17-Aug-2009 Richard Ash <richard@audacityteam.org> Staging: quatech_usb2: TIOCMGET and TIOCMSET removal

Patch to remove TIOCMGET and TIOCMSET from the driver ioctl method, as
they never get used (error in vendor driver).

Signed-off-by: Richard Ash <richard@audacityteam.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
89b5098d8ea97eb29c064a0e093f48b7618fc88e 17-Aug-2009 Richard Ash <richard@audacityteam.org> Staging: quatech_usb2: write_room rewrite

The following patch re-writes the write_room method to work in the
obvious sort of way, so it keeps it's promises to the layers above.
Based on feedback from Alan Cox.

Signed-off-by: Richard Ash <richard@audacityteam.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
713e5f69d07ce6ff4ac9c2637ece4829a8127606 17-Aug-2009 Richard Ash <richard@audacityteam.org> Staging: quatech_usb2: close, read, and some ioctl support

This patch implements close(), read(), write() and some ioctls, and
fixes some implementation issues in open(). Compared to the previous
patch it doesn't suffer an oops in the module code, however if you try
to open any of the serial devices a second time then an oops occurs in
tty_open(), presumably because my code isn't playing nicely on the
previous close():

Aug 13 11:44:01 [kernel] WARNING: at drivers/char/tty_io.c:1268 tty_open+0x3e5/0x46d()
Aug 13 11:44:01 [kernel] Hardware name: HP Compaq dc5100 MT(PW097ET)
Aug 13 11:44:01 [kernel] Modules linked in: quatech_usb2(C) usbserial snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss nls_iso8859_1 cifs xt_limit xt_NFLOG nfnetlink_log nfnetlink xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack iptable_filter ip_tables x_tables i915 fb drm i2c_algo_bit cfbcopyarea i2c_core video backlight output cfbimgblt cfbfillrect snd_intel8x0 snd_ac97_codec ehci_hcd ac97_bus uhci_hcd snd_pcm snd_timer usbcore snd ohci1394 psmouse ide_cd_mod cdrom tg3 soundcore snd_page_alloc ieee1394 libphy intel_agp agpgart floppy evdev [last unloaded: usbserial]
Aug 13 11:44:01 [kernel] Pid: 26765, comm: stty Tainted: G C 2.6.31-rc5-git3-gkh #7
Aug 13 11:44:01 [kernel] Call Trace:
Aug 13 11:44:01 [kernel] [<c11dbef8>] ? tty_open+0x3e5/0x46d
Aug 13 11:44:01 [kernel] [<c10264e2>] warn_slowpath_common+0x88/0xb0
Aug 13 11:44:01 [kernel] [<c11dbef8>] ? tty_open+0x3e5/0x46d
Aug 13 11:44:01 [kernel] [<c102652b>] warn_slowpath_null+0x21/0x3b
Aug 13 11:44:01 [kernel] [<c11dbef8>] tty_open+0x3e5/0x46d
Aug 13 11:44:01 [kernel] [<c10883d1>] chrdev_open+0x77/0x113
Aug 13 11:44:01 [kernel] [<c1083a5d>] __dentry_open+0xb8/0x230
Aug 13 11:44:01 [kernel] [<c108835a>] ? chrdev_open+0x0/0x113
Aug 13 11:44:01 [kernel] [<c1084993>] nameidata_to_filp+0x61/0x6a
Aug 13 11:44:01 [kernel] [<c1091144>] do_filp_open+0x248/0x7cd
Aug 13 11:44:01 [kernel] [<c106f14f>] ? __do_fault+0x2ba/0x3b2
Aug 13 11:44:01 [kernel] [<c109a337>] ? alloc_fd+0x6a/0xf1
Aug 13 11:44:01 [kernel] [<c1083804>] do_sys_open+0x5f/0x12b
Aug 13 11:44:01 [kernel] [<c1083947>] sys_open+0x2e/0x47
Aug 13 11:44:01 [kernel] [<c1002e4f>] sysenter_do_call+0x12/0x26
Aug 13 11:44:01 [kernel] ---[ end trace 1d6b9e2cd7636394 ]---
Aug 13 11:44:01 [kernel] BUG: unable to handle kernel NULL pointer dereference at 00000004
Aug 13 11:44:01 [kernel] IP: [<c1086538>] file_move+0x26/0x47
Aug 13 11:44:01 [kernel] *pde = 00000000
Aug 13 11:44:01 [kernel] Modules linked in: quatech_usb2(C) usbserial snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss nls_iso8859_1 cifs xt_limit xt_NFLOG nfnetlink_log nfnetlink xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack iptable_filter ip_tables x_tables i915 fb drm i2c_algo_bit cfbcopyarea i2c_core video backlight output cfbimgblt cfbfillrect snd_intel8x0 snd_ac97_codec ehci_hcd ac97_bus uhci_hcd snd_pcm snd_timer usbcore snd ohci1394 psmouse ide_cd_mod cdrom tg3 soundcore snd_page_alloc ieee1394 libphy intel_agp agpgart floppy evdev [last unloaded: usbserial]
Aug 13 11:44:01 [kernel] Pid: 26765, comm: stty Tainted: G WC (2.6.31-rc5-git3-gkh #7) HP Compaq dc5100 MT(PW097ET)
Aug 13 11:44:01 [kernel] EIP: 0060:[<c1086538>] EFLAGS: 00010282 CPU: 0
Aug 13 11:44:01 [kernel] EIP is at file_move+0x26/0x47
Aug 13 11:44:01 [kernel] EAX: 00000000 EBX: e593b508 ECX: ea7e9900 EDX: f734a888
Aug 13 11:44:01 [kernel] ESI: 00000000 EDI: 0bc00004 EBP: d8923e10 ESP: d8923e08
Aug 13 11:44:01 [kernel] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068
Aug 13 11:44:01 [kernel] 2ba6efc8 c8c93180 d8923e48 c11dbca7 ea7e9900 eed37e6c 00000000 00008800
Aug 13 11:44:01 [kernel] <0> 00000000 e593b400 e593b400 00000004 2ba6efc8 c8c93188 00000000 eed37e6c
Aug 13 11:44:01 [kernel] <0> d8923e68 c10883d1 ea7e9900 2ba6efc8 2ba6efc8 ea7e9900 eed37e6c ffffffe9
Aug 13 11:44:01 [kernel] [<c11dbca7>] ? tty_open+0x194/0x46d
Aug 13 11:44:01 [kernel] [<c10883d1>] ? chrdev_open+0x77/0x113
Aug 13 11:44:01 [kernel] [<c1083a5d>] ? __dentry_open+0xb8/0x230
Aug 13 11:44:01 [kernel] [<c108835a>] ? chrdev_open+0x0/0x113
Aug 13 11:44:01 [kernel] [<c1084993>] ? nameidata_to_filp+0x61/0x6a
Aug 13 11:44:01 [kernel] [<c1091144>] ? do_filp_open+0x248/0x7cd
Aug 13 11:44:01 [kernel] [<c106f14f>] ? __do_fault+0x2ba/0x3b2
Aug 13 11:44:01 [kernel] [<c109a337>] ? alloc_fd+0x6a/0xf1
Aug 13 11:44:01 [kernel] [<c1083804>] ? do_sys_open+0x5f/0x12b
Aug 13 11:44:01 [kernel] [<c1083947>] ? sys_open+0x2e/0x47
Aug 13 11:44:01 [kernel] [<c1002e4f>] ? sysenter_do_call+0x12/0x26
Aug 13 11:44:01 [kernel] ---[ end trace 1d6b9e2cd7636395 ]---

Read and Write also do not work at the moment, and I'm fairly sure that
the URB completion callbacks are not running. Why this is I don't know,
and haven't tried to investigate.

Signed-off-by: Richard Ash <richard@audacityteam.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
72ba94ec61d1ceb9b80e317f72548b1e88e539f4 29-Jul-2009 Richard Ash <richard@audacityteam.org> Staging: quatech_usb2: implement open functionality

Part two of the driver implementation has finally got done. It
implements the rest of open and the callback for reads from the box. I
seem to have finally found a structure that can be made to work, with a
single set of URBs for bulk read and write for the whole device, which
are used by all the ports. I've rationalised a few things, but there
will still be a lot of clean-up needed.

This one definitely can panic the kernel when a port is opened for
reading, but I'm off on holiday so I thought I'd post where I have got
to so far. I haven't tried to debug why it panics with a null pointer
dereference yet.

Signed-off-by: Richard Ash <richard@audacityteam.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c
c4f3020fc40b7977090dba42e1165db653408440 23-Jun-2009 Richard Ash <richard@audacityteam.org> Staging: add Support for Quatech ESU2-100 USB 2.0 8-port serial adaptor

The patch is of the "works as far as it goes" variety, in that the
module compiles and loads, the device nodes are registered and the unit
switched on, but nothing actually works. On the other hand, it doesn't
panic the kernel, as far as I know.

Signed-off-by: Richard Ash <richard@audacityteam.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/quatech_usb2/quatech_usb2.c