Reorder the code in ieee80211.h for easier comparisions with
rtl8192su's version of the file.
While at it:
* use IEEE80211_4ADDR_LEN for IEEE80211_LEN definition
* remove unused country_code_type_t typedef
* make some minor coding style fixes
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
While at it:
* remove some commented out code
* remove some unused definitions
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Rename struct ieee80211_hdr_QOS to struct ieee80211_hdr_4addrqos
and QOS_ctl field to qos_ctl (to match the naming used by rtl8192su).
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Rename struct ieee80211_hdr_3addr_QOS to struct ieee80211_hdr_3addrqos
and QOS_ctl field to qos_ctl (to match the naming used by rtl8192su).
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
ieee80211_hdr name is too generic so use ieee80211_hdr_4addr one instead
(which matches the naming used by rtl8192su driver).
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
list_entry, which is an alias for container_of, cannot return NULL, as
there is no way to add a NULL value to a doubly linked list.
A simplified version of the semantic match that findds this problem is as
follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@r@
expression x,E;
statement S1,S2;
position p,p1;
@@
*x = list_entry@p(...)
... when != x = E
*if@p1 (x == NULL) S1 else S2
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Original author didn't bother to change strings for rt3070 driver. Fix it.
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
othwerwise lockdep complains:
"INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator."
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Given that EXPORT_SYMTAB was removed long ago, remove the Makefile
references to it.
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
As the driver is in mainline now we can remove such dependency.
WIRELESS_EXT is 22 now and it is always defined.
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Fix this build error when CONFIG_WIRELESS_EXT is not set
at76_usb.c:5322: error: 'struct net_device' has no member named 'wireless_data'
at76_usb.c:5325: error: 'struct net_device' has no member named 'wireless_handlers'
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
As the driver is in mainline now we can remove such dependency.
WIRELESS_EXT is 22 now and it is always defined.
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
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>
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>