openwrt/staging/blogic.git
17 years ago[PATCH] libertas: remove WPA_SUPPLICANT structure
Dan Williams [Tue, 29 May 2007 03:56:10 +0000 (23:56 -0400)]
[PATCH] libertas: remove WPA_SUPPLICANT structure

Unused.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: remove structure WLAN_802_11_SSID and libertas_escape_essid
Dan Williams [Tue, 29 May 2007 03:54:55 +0000 (23:54 -0400)]
[PATCH] libertas: remove structure WLAN_802_11_SSID and libertas_escape_essid

Replace WLAN_802_11_SSID with direct 'ssid' and 'ssid_len' members
like ieee80211.  In the process, remove private libertas_escape_essid
and depend on the ieee80211 implementation of escape_essid instead.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: tweak association debug output
Dan Williams [Sat, 26 May 2007 03:51:12 +0000 (23:51 -0400)]
[PATCH] libertas: tweak association debug output

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fix big-endian associate command.
David Woodhouse [Sat, 26 May 2007 03:41:16 +0000 (23:41 -0400)]
[PATCH] libertas: fix big-endian associate command.

Byte-swapping length fields and then passing them to memcpy() considered
harmful.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: don't byte-swap firmware version number. It's a byte array.
David Woodhouse [Sat, 26 May 2007 03:40:21 +0000 (23:40 -0400)]
[PATCH] libertas: don't byte-swap firmware version number. It's a byte array.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: more endianness fixes, in tx.c this time
David Woodhouse [Sat, 26 May 2007 03:39:34 +0000 (23:39 -0400)]
[PATCH] libertas: more endianness fixes, in tx.c this time

Now we finally get connectivity. For a while, before something else dies...

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: More endianness fixes.
David Woodhouse [Sat, 26 May 2007 03:38:14 +0000 (23:38 -0400)]
[PATCH] libertas: More endianness fixes.

Now it at least manages to load the firmware.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: first pass at fixing up endianness issues
David Woodhouse [Sat, 26 May 2007 03:36:54 +0000 (23:36 -0400)]
[PATCH] libertas: first pass at fixing up endianness issues

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: sparse fixes
Dan Williams [Sat, 26 May 2007 03:23:43 +0000 (23:23 -0400)]
[PATCH] libertas: sparse fixes

Fix various issues reported by sparse.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fix character set in README
David Woodhouse [Sat, 26 May 2007 03:15:27 +0000 (23:15 -0400)]
[PATCH] libertas: fix character set in README

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: support for mesh autostart on firmware 5.220.11
Luis Carlos Cobo Rus [Sat, 26 May 2007 03:12:19 +0000 (23:12 -0400)]
[PATCH] libertas: support for mesh autostart on firmware 5.220.11

Signed-off-by: Luis Carlos Cobo Rus <luisca@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: split wext for eth and msh
Luis Carlos Cobo Rus [Sat, 26 May 2007 03:08:34 +0000 (23:08 -0400)]
[PATCH] libertas: split wext for eth and msh

Separate wireless handlers of mshX and ethX. ethX remains as before.

For mshX, it has been disabled set/get essid, wap and set mode. Get mode always
returns "Repeater" and by now we use the Nickname to show if the mesh is active
("Mesh") or not (empty). The rest remains as before.

Signed-off-by: Luis Carlos Cobo Rus <luisca@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: make mac address configuration work with mesh interface too
Luis Carlos Cobo Rus [Sat, 26 May 2007 03:05:27 +0000 (23:05 -0400)]
[PATCH] libertas: make mac address configuration work with mesh interface too

Signed-off-by: Luis Carlos Cobo Rus <luiscarlos@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: updated readme file
Luis Carlos Cobo Rus [Sat, 26 May 2007 03:04:13 +0000 (23:04 -0400)]
[PATCH] libertas: updated readme file

Fix some wording and blinding table command options, clarify argument list for
fwt_add and fwt_list, simplify fwt_list_route

Signed-off-by: Luis Carlos Cobo Rus <luisca@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: Make WPA work through supplicant handshake
Dan Williams [Sat, 26 May 2007 03:01:24 +0000 (23:01 -0400)]
[PATCH] libertas: Make WPA work through supplicant handshake

Fix WPA so it works up through the supplicant 4-Way handshake process.
Doesn't successfully pass traffic yet; may be problems installing
the GTK to the firmware.

- RSN needs to be enabled before the association command is sent
- Use keys from the association request not the adapter structure
- cmd_act_mac_strict_protection_enable != IW_AUTH_DROP_UNENCRYPTED
- Fix network filtering logic in is_network_compatible() WPA helpers

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: add more verbose debugging to libertas_cmd_80211_authenticate
Dan Williams [Sat, 26 May 2007 02:58:55 +0000 (22:58 -0400)]
[PATCH] libertas: add more verbose debugging to libertas_cmd_80211_authenticate

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: debug print spacing fixes in assoc.c
Dan Williams [Sat, 26 May 2007 02:54:50 +0000 (22:54 -0400)]
[PATCH] libertas: debug print spacing fixes in assoc.c

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: send SIOCGIWSCAN event after partial scans too
Dan Williams [Sat, 26 May 2007 02:38:41 +0000 (22:38 -0400)]
[PATCH] libertas: send SIOCGIWSCAN event after partial scans too

Any time the driver gets new scan results, even from partial scans,
it should send the scan event to userspace.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: honor specific channel requests during association
Dan Williams [Sat, 26 May 2007 02:30:48 +0000 (22:30 -0400)]
[PATCH] libertas: honor specific channel requests during association

Previously if a fixed channel was specified along with an SSID,
the channel request would be ignored during the association
process.  Instead, when searching for an adhoc or infrastructure
network to join, allow filtering results based on channel so
that the driver doesn't pick a BSS on a different channel than
requested.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fix default adhoc channel
Dan Williams [Sat, 26 May 2007 02:19:59 +0000 (22:19 -0400)]
[PATCH] libertas: fix default adhoc channel

Inadvertently removed on a previous commit; causes the first
adhoc start to fail if a channel has not been set or no
other association has been made.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fix deadlock SIOCGIWSCAN handler
Dan Williams [Sat, 26 May 2007 02:18:47 +0000 (22:18 -0400)]
[PATCH] libertas: fix deadlock SIOCGIWSCAN handler

Update signal quality before the locked scan result translation loop,
because calling libertas_prepare_and_send_command() with the
'waitforrsp' option grabs adapter->lock in the command return processing,
leading to the deadlock.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: correct error report paths for wlan_fwt_list_ioctl
Dan Williams [Sat, 26 May 2007 01:59:29 +0000 (21:59 -0400)]
[PATCH] libertas: correct error report paths for wlan_fwt_list_ioctl

Ensure the leave debug print gets triggered when necessary.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: correctly balance locking in libertas_process_rx_command
Dan Williams [Fri, 25 May 2007 21:33:28 +0000 (17:33 -0400)]
[PATCH] libertas: correctly balance locking in libertas_process_rx_command

adapter->lock should released after unlocking adapter->driver_lock to
balance the order in which they were locked at the top of the function.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fix debug enter/leave prints for libertas_execute_next_command
Dan Williams [Fri, 25 May 2007 21:29:34 +0000 (17:29 -0400)]
[PATCH] libertas: fix debug enter/leave prints for libertas_execute_next_command

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: use compare_ether_addr() rather than memcmp() where appropriate
Dan Williams [Fri, 25 May 2007 21:28:30 +0000 (17:28 -0400)]
[PATCH] libertas: use compare_ether_addr() rather than memcmp() where appropriate

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: use MAC_FMT and MAC_ARG where appropriate
Dan Williams [Fri, 25 May 2007 21:27:31 +0000 (17:27 -0400)]
[PATCH] libertas: use MAC_FMT and MAC_ARG where appropriate

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: make association paths consistent
Dan Williams [Fri, 25 May 2007 21:09:41 +0000 (17:09 -0400)]
[PATCH] libertas: make association paths consistent

The BSS to associate with (in either Infrastructure or IBSS join
operations) is now stored in _one_ place in the association request (the
bss member), not two places as before (pattemptedbss and
curbssparams->bssdescriptor).

Association requests are passed to the necessary association functions
to (a) give them access to the bss member and (b) ensure that
association/join/start setup uses settings from the request, not the
current adapter settings (which may not be valid for the requested
settings).

Because the 'bss' member of the association request is used now, the
command return functions from associate and adhoc join/start need access
to the in-progress association request to update curbssparams when
everything is done.  The association worker moves the request from
pending to in-progress for the duration of the association attempt.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: move channel changing into association framework
Dan Williams [Fri, 25 May 2007 20:46:33 +0000 (16:46 -0400)]
[PATCH] libertas: move channel changing into association framework

Handle channel changes through the deferred association framework
rather than directly.  Fixes errors when setting channels along
with other parameters like mode and SSID.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fix oops on rmmod
Marcelo Tosatti [Fri, 25 May 2007 20:28:20 +0000 (16:28 -0400)]
[PATCH] libertas: fix oops on rmmod

Use list_for_each_entry_safe, to protect against list_del().

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: cleanup of fwt_list_route processing
Luis Carlos Cobo Rus [Fri, 25 May 2007 20:26:47 +0000 (16:26 -0400)]
[PATCH] libertas: cleanup of fwt_list_route processing

Signed-off-by: Luis Carlos Cobo Rus <luisca@cozybit.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fix 'keep previous scan' behavior
Dan Williams [Fri, 25 May 2007 20:25:21 +0000 (16:25 -0400)]
[PATCH] libertas: fix 'keep previous scan' behavior

Do not clear the scan list except under specific conditions, such as
when (a) user-requested, or (b) joining/starting an adhoc network.
Furthermore, only clear entries which match the SSID or BSSID of the
request, not the whole scan list.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: make scan result handling more flexible
Dan Williams [Fri, 25 May 2007 20:15:56 +0000 (16:15 -0400)]
[PATCH] libertas: make scan result handling more flexible

- use a linked list for scan results
- age scan results
- pass bss_descriptors around instead of indexes into the scan table
- lock access to the scan results
- stop returning EAGAIN from SIOCGIWSCAN handler

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: updated mesh commands for 5.220.9.p11
Luis Carlos Cobo [Fri, 25 May 2007 17:53:26 +0000 (13:53 -0400)]
[PATCH] libertas: updated mesh commands for 5.220.9.p11

Updated commands fwt_add and fwt_list, bt_list.
New commands: bt_get_invert, bt_set_invert, to invert the blinding table,
i.e., receive only frames from nodes listed in the BT.

This patch needs/is needed for firmware 5.220.9.p11.

Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: version bump (321p0) and cmds update for new fw (5.220.10.p0)
Luis Carlos Cobo Rus [Fri, 25 May 2007 17:48:54 +0000 (13:48 -0400)]
[PATCH] libertas: version bump (321p0) and cmds update for new fw (5.220.10.p0)

This patch along with the previous commands update one, is necessary for
mesh and fwt ioctls to work properly with firmware version 5.220.10.p0
and later.

Signed-off-by: Luis Carlos Cobo Rus <luiscarlos@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: don't tear down netdev in libertas_activate_card
Dan Williams [Fri, 25 May 2007 17:36:57 +0000 (13:36 -0400)]
[PATCH] libertas: don't tear down netdev in libertas_activate_card

libertas_activate_card() doesn't create the netdev, and shouldn't
free it on error.  The caller of libertas_activate_card() is
responsible for cleaning up errors from libertas_add_card(),
not libertas_activate_card().

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: correctly unregister mesh netdev on error
Dan Williams [Fri, 25 May 2007 17:35:23 +0000 (13:35 -0400)]
[PATCH] libertas: correctly unregister mesh netdev on error

Subject says it all.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: replace 'macaddress' with 'bssid'
Dan Williams [Fri, 25 May 2007 17:16:38 +0000 (13:16 -0400)]
[PATCH] libertas: replace 'macaddress' with 'bssid'

Start to normalize bss_descriptor with ieee80211_network so we can
eventually replace bss_descriptor more easily.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: call SET_NETDEV_DEV from common code
Dan Williams [Fri, 25 May 2007 17:13:25 +0000 (13:13 -0400)]
[PATCH] libertas: call SET_NETDEV_DEV from common code

Move usage of SET_NETDEV_DEV into common code since it has nothing
to do with bus-specific devices.  Also fixes a bug where the mesh
device was getting SET_NETDEV_DEV called after register_netdevice,
resulting in no 'device' link in /sys/class/net/mshX/.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fixed kernel oops on module/card removal
Luis Carlos Cobo [Fri, 25 May 2007 17:11:13 +0000 (13:11 -0400)]
[PATCH] libertas: fixed kernel oops on module/card removal

Fixed kernel oops on module/card removal (using dongles)

Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: add URB debug info
Luis Carlos Cobo [Fri, 25 May 2007 17:10:18 +0000 (13:10 -0400)]
[PATCH] libertas: add URB debug info

Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fixed incorrect assigment of fcs errors to frag errors
Luis Carlos Cobo [Fri, 25 May 2007 17:08:33 +0000 (13:08 -0400)]
[PATCH] libertas: fixed incorrect assigment of fcs errors to frag errors

Signed-off-by: Luis Carlos Cobo <luisca@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: remove unused variables in wlan_dev_t
Holger Schurig [Fri, 25 May 2007 17:05:16 +0000 (13:05 -0400)]
[PATCH] libertas: remove unused variables in wlan_dev_t

Actually, this patch removev wlan_dev_t totally and puts the used variables
of it directly into wlan_private. That reduces one level of indirection and
looks a little bit simpler. It's now "priv->card" and not
"priv->wlan_dev.card" and "priv->dev" instead of "priv->wlan_dev.netdev"

Changed two occurences of "((wlan_private *) dev->priv)->wlan_dev.netdev"
into "dev", because I didn't see the point in doing pointer-ping-pong.

The variables "ioport", "upld_rcv" and "upld_type" where unused. They have
been removed.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: let DRV_NAME be overridable
Holger Schurig [Fri, 25 May 2007 16:49:10 +0000 (12:49 -0400)]
[PATCH] libertas: let DRV_NAME be overridable

For now, it's "libertas" by default, but that is overwritten in
if_usb.c/if_bootcmd.c and in if_cs.c.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fix RESET logic at unload time
Holger Schurig [Fri, 25 May 2007 16:41:52 +0000 (12:41 -0400)]
[PATCH] libertas: fix RESET logic at unload time

Previously, we had a fixed array of 5 elements where we remembered all
initialized devices. This has been changed to use a "struct list_head"
organization, which is IMHO cleaner.

Also renamed usb_cardp to cardp, as in the reset of the code.

Renamed reset_device() to if_usb_reset_device() like many other functions.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: split module into two (libertas.ko and usb8xxx.ko)
Holger Schurig [Fri, 25 May 2007 16:37:58 +0000 (12:37 -0400)]
[PATCH] libertas: split module into two (libertas.ko and usb8xxx.ko)

* add CONFIG_LIBERTAS to Kconfig
* remove global variable libertas_fw_name, the USB module might want to
    use a different default FW name than the CF module, so libertas_fw_name
    is now local to if_usb.c
* exported some symbols as GPL

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: move contents of fw.h to decl.h
Holger Schurig [Fri, 25 May 2007 16:18:36 +0000 (12:18 -0400)]
[PATCH] libertas: move contents of fw.h to decl.h

Also removes some useless "extern" declarations from function declaration.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: indirect all hardware access via hw_XXXX functions
Holger Schurig [Fri, 25 May 2007 16:17:06 +0000 (12:17 -0400)]
[PATCH] libertas: indirect all hardware access via hw_XXXX functions

This functions makes all libertas_sbi_XXX functions static to the
if_usb.c file and renames them to if_usb_XXXX(). The get called from
other places of the source code via priv->hw_XXXX().

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: wakeup both mesh and normal wakeup when getting out of scan
Chris Ball [Fri, 25 May 2007 16:13:24 +0000 (12:13 -0400)]
[PATCH] libertas: wakeup both mesh and normal wakeup when getting out of scan

The previous patch wakes up the mesh device *instead* of the wlan device
when coming out of scan. We need to wake up both of them.

Signed-off-by: Chris Ball <cjb@laptop.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: added transmission failures to mesh statistics
Javier Cardona [Fri, 25 May 2007 16:12:06 +0000 (12:12 -0400)]
[PATCH] libertas: added transmission failures to mesh statistics

Added transmission failures to mesh statistics.
Removed whitespace before newlines.

Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fix error handling of card initialization
Marcelo Tosatti [Fri, 25 May 2007 16:09:13 +0000 (12:09 -0400)]
[PATCH] libertas: fix error handling of card initialization

Subject says it all.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fixed transmission flow control on the mesh interface
Javier Cardona [Fri, 25 May 2007 16:06:56 +0000 (12:06 -0400)]
[PATCH] libertas: fixed transmission flow control on the mesh interface

This patch implements proper transmission flow control on mshX.

Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: split wlan_add_card()
Holger Schurig [Fri, 25 May 2007 16:04:31 +0000 (12:04 -0400)]
[PATCH] libertas: split wlan_add_card()

Split wlan_add_card() into a part that just setups kernel parameters and
into the function libertas_activate_card(), which will implizitly use
hardware functions by the started thread.

This allows us later to do something like this:

priv = libertas_add_card();
priv->hw_command_to_host = if_usb_command_to_host;
priv->hw_xxxx = if_usb_xxxx;
priv->hw_yyyy = if_usb_yyyy;
wlan_activate_card()

and of course the CF driver can set it's own functions.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: move reset_device() code main.c to if_usb.c
Holger Schurig [Fri, 25 May 2007 16:01:42 +0000 (12:01 -0400)]
[PATCH] libertas: move reset_device() code main.c to if_usb.c

The reset_device() logic is only needed for USB devices, not for CF
devices.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: changed some occurences of kmalloc() + memset(&a,0,sz) to kzalloc()
Holger Schurig [Fri, 25 May 2007 15:58:22 +0000 (11:58 -0400)]
[PATCH] libertas: changed some occurences of kmalloc() + memset(&a,0,sz) to kzalloc()

The subject says it all.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fix SSID output
Holger Schurig [Fri, 25 May 2007 15:56:37 +0000 (11:56 -0400)]
[PATCH] libertas: fix SSID output

* a newline was missing
* changed %32s to '%s', no need to right justify the ESSID

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: get rid of libertas_sbi_get_priv()
Holger Schurig [Fri, 25 May 2007 15:55:19 +0000 (11:55 -0400)]
[PATCH] libertas: get rid of libertas_sbi_get_priv()

It's not really needed, because we can call wlan_remove_card() with
wlan_private* anyway.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: change debug output of libertas_interrupt()
Holger Schurig [Fri, 25 May 2007 15:52:42 +0000 (11:52 -0400)]
[PATCH] libertas: change debug output of libertas_interrupt()

It used to be LBS_DEB_MAIN, now it's LBS_DEB_THREAD

Also fixed a missing ":" in lbs_deb_enter()

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: single out mesh code
Holger Schurig [Fri, 25 May 2007 15:49:19 +0000 (11:49 -0400)]
[PATCH] libertas: single out mesh code

This patches adds the two functions wlan_add_mesh() and wlan_remove_mesh(),
which are responsible for the mshX interface. In a CF driver with a non-
mesh-aware firmware you can omit the calls to this functions.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: tune debug code
Holger Schurig [Fri, 25 May 2007 15:32:07 +0000 (11:32 -0400)]
[PATCH] libertas: tune debug code

* renamed module parameter back to libertas_debug
* change from bit shifts to constants, that way it's easier to look at the
    source and specify the libertas_debug=0xXXXX module parameter
* moved module_param from fw.c to main.c, where it belongs better

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: make debug configurable
Holger Schurig [Fri, 25 May 2007 15:27:16 +0000 (11:27 -0400)]
[PATCH] libertas: make debug configurable

The debug output of libertas was either not present or it was overwhelming.
This patch adds the possibility to specify a bitmask for the area of
interest. One should then only get the desired output.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: exclude non-used code when PROC_DEBUG is not set
Holger Schurig [Fri, 25 May 2007 04:37:28 +0000 (00:37 -0400)]
[PATCH] libertas: exclude non-used code when PROC_DEBUG is not set

This reduces usb8xxx.ko by 951 bytes (text) and 256 bytes (data)
when PROC_DEBUG isn't defined.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fix scanning from associate path
Marcelo Tosatti [Fri, 25 May 2007 04:33:28 +0000 (00:33 -0400)]
[PATCH] libertas: fix scanning from associate path

The previous scan fix did not account for scan paths other than set_scan()
that need to do a full scan at once.

Add a "full_scan" parameter to wlan_scan_networks() to control such
behaviour.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: make libertas_wlan_data_rates static
Holger Schurig [Fri, 25 May 2007 04:14:38 +0000 (00:14 -0400)]
[PATCH] libertas: make libertas_wlan_data_rates static

Move libertas_wlan_data_rates into wext.c and make it static. wext.c is the
only user of this array.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: move vendor & product id's into if_usb.c
Holger Schurig [Fri, 25 May 2007 04:11:58 +0000 (00:11 -0400)]
[PATCH] libertas: move vendor & product id's into if_usb.c

For me it looks cleaner, because it removes one level of indirection.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: remove unused/superfluous definitions of DEV_NAME_LEN
Holger Schurig [Fri, 25 May 2007 04:09:54 +0000 (00:09 -0400)]
[PATCH] libertas: remove unused/superfluous definitions of DEV_NAME_LEN

DEV_NAME_LEN is already defined in defs.h and that is sufficient.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: remove __FILE__ from debug output
Holger Schurig [Fri, 25 May 2007 04:07:38 +0000 (00:07 -0400)]
[PATCH] libertas: remove __FILE__ from debug output

Remove filename from debug output because it's way too long.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: remove deprecated pm_register and associated code
Marcelo Tosatti [Fri, 25 May 2007 04:04:11 +0000 (00:04 -0400)]
[PATCH] libertas: remove deprecated pm_register and associated code

Subject says it all.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fix removal of all debugfs files
Holger Schurig [Fri, 25 May 2007 03:47:34 +0000 (23:47 -0400)]
[PATCH] libertas: fix removal of all debugfs files

rmmod did not remove /sys/kernel/debug/libertas_wireless/eth1/
subscribed_events/high_snr. After I fixed this, I noticed that
it also didn't remove /sys/kernel/debug/libertas_wireless/eth1
as well.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: a debug output was missing a newline
Holger Schurig [Fri, 25 May 2007 03:42:42 +0000 (23:42 -0400)]
[PATCH] libertas: a debug output was missing a newline

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: rename wlan_association_worker
Holger Schurig [Fri, 25 May 2007 03:41:15 +0000 (23:41 -0400)]
[PATCH] libertas: rename wlan_association_worker

Renames wlan_association_worker into libertas_association_worker

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: scan two channels per scan command
Marcelo Tosatti [Fri, 25 May 2007 03:37:28 +0000 (23:37 -0400)]
[PATCH] libertas: scan two channels per scan command

Scan two channels per each command on set_scan(), then bail out and let
get_scan() continue the scanning work up to the last channel.

This gives time to the firmware so it can go back to the association
channel and keep the connection alive.

Fixes http://dev.laptop.org/ticket/841

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years agoLinux 2.6.22-rc4
Linus Torvalds [Tue, 5 Jun 2007 00:57:25 +0000 (17:57 -0700)]
Linux 2.6.22-rc4

17 years agoMerge git://git.infradead.org/mtd-2.6
Linus Torvalds [Tue, 5 Jun 2007 00:54:09 +0000 (17:54 -0700)]
Merge git://git.infradead.org/mtd-2.6

* git://git.infradead.org/mtd-2.6:
  [JFFS2] Fix obsoletion of metadata nodes in jffs2_add_tn_to_tree()
  [MTD] Fix error checking after get_mtd_device() in get_sb_mtd functions
  [JFFS2] Fix buffer length calculations in jffs2_get_inode_nodes()
  [JFFS2] Fix potential memory leak of dead xattrs on unmount.
  [JFFS2] Fix BUG() caused by failing to discard xattrs on deleted files.
  [MTD] generalise the handling of MTD-specific superblocks
  [MTD] [MAPS] don't force uclinux mtd map to be root dev

17 years agolibata: always use polling SETXFER
Tejun Heo [Sun, 27 May 2007 13:10:40 +0000 (15:10 +0200)]
libata: always use polling SETXFER

Several people have reported LITE-ON LTR-48246S detection failed
because SETXFER fails.  It seems the device raises IRQ too early after
SETXFER.  This is controller independent.  The same problem has been
reported for different controllers.

So, now we have pata_via where the controller raises IRQ before it's
ready after SETXFER and a device which does similar thing.  This patch
makes libata always execute SETXFER via polling.  As this only happens
during EH, performance impact is nil.  Setting ATA_TFLAG_POLLING is
also moved from issue hot path to ata_dev_set_xfermode() - the only
place where SETXFER can be issued.

Note that ATA_TFLAG_POLLING applies only to drivers which implement
SFF TF interface and use libata HSM.  More advanced controllers ignore
the flag.  This doesn't matter for this fix as SFF TF controllers are
the problematic ones.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
Linus Torvalds [Mon, 4 Jun 2007 20:31:39 +0000 (13:31 -0700)]
Merge /linux/kernel/git/jejb/scsi-rc-fixes-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
  [SCSI] JAZZ ESP and SUN ESP need SPI_ATTRS
  [SCSI] atari_NCR5380: update_timeout removal
  [SCSI] aacraid: fix shutdown handler to also disable interrupts.
  [SCSI] qla2xxx: fix timeout in qla2x00_down_timeout
  [SCSI] fix CONFIG_SCSI_WAIT_SCAN=m

17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Linus Torvalds [Mon, 4 Jun 2007 20:27:33 +0000 (13:27 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/dtor/input

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: reduce raciness when input handlers disconnect
  Input: ucb1x00 - do not access input_dev->private directly
  Input: logips2pp - fix typo in Kconfig
  Input: db9 - do not ignore dev2 module parameter

17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Mon, 4 Jun 2007 20:26:49 +0000 (13:26 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [ICMP]: Fix icmp_errors_use_inbound_ifaddr sysctl
  [IPV4]: Fix "ipOutNoRoutes" counter error for TCP and UDP
  [NET] gso: Fix GSO feature mask in sk_setup_caps
  [TCP]: Fix GSO ignorance of pkts_acked arg (cong.cntrl modules)
  [NET]: Fix comparisons of unsigned < 0.
  [NET]: Make net watchdog timers 1 sec jiffy aligned.
  [ATM]: Fix warning.
  [TCP]: Use default 32768-61000 outgoing port range in all cases.
  [AF_UNIX]: Fix datagram connect race causing an OOPS.
  [TG3]: Fix link problem on Dell's onboard 5906.
  [AF_UNIX]: Make socket locking much less confusing.

17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Mon, 4 Jun 2007 20:25:59 +0000 (13:25 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [ATA]: Don't allow to enable this for SPARC64 without PCI.
  [VIDEO]: XVR500 and XVR2500 require FB=y

17 years agovanishing ioctl handler debugging
Andrew Morton [Sun, 3 Jun 2007 20:50:41 +0000 (13:50 -0700)]
vanishing ioctl handler debugging

We've had several reoprts of the CPU jumping to 0x00000000 is do_ioctl().  I
assume that there's a race and someone is zeroing out the ioctl handler while
this CPU waits for the lock_kernel().

The patch adds code to detect this, then emits stuff which will hopefuly lead
us to the culprit.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agomtrr atomicity fix
Andrew Morton [Sun, 3 Jun 2007 20:50:40 +0000 (13:50 -0700)]
mtrr atomicity fix

Rafael gets this on an SMP box with kernel preemption enabled, during
hibernation and restore (100% of the time):

Enabling non-boot CPUs ...
BUG: using smp_processor_id() in preemptible [00000001] code: bash/4514
caller is mtrr_save_state+0x9/0x40

Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoSPI dynamic busid generation bugfix
David Brownell [Sun, 3 Jun 2007 20:50:40 +0000 (13:50 -0700)]
SPI dynamic busid generation bugfix

Fix SPI dynamic bus ID assignment to start at 2^15-1 rather than a negative
number.  Valid bus ids are supposed to be positive, and are (now) stored in
an 's16' value.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[SCSI] JAZZ ESP and SUN ESP need SPI_ATTRS
David S. Miller [Mon, 4 Jun 2007 00:56:04 +0000 (17:56 -0700)]
[SCSI] JAZZ ESP and SUN ESP need SPI_ATTRS

Reported by Meelis Roos.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years ago[SCSI] atari_NCR5380: update_timeout removal
Michael Schmitz [Sun, 3 Jun 2007 10:55:04 +0000 (12:55 +0200)]
[SCSI] atari_NCR5380: update_timeout removal

Atari SCSI driver fixes: remove update_timeout kludge

Signed-off-by: Michael Schmitz <schmitz@debian.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years agoInput: reduce raciness when input handlers disconnect
Dmitry Torokhov [Mon, 4 Jun 2007 03:29:36 +0000 (23:29 -0400)]
Input: reduce raciness when input handlers disconnect

There is a race between input handler's release() and disconnect()
methods: when input handler disconnects it wakes up all regular
users and then process to walk user list to wake up async. users.
While disconnect() walks the list release() removes elements of
the same list causing oopses.

While this is not a substibute for proper locking we can reduce
odds of getting an oops if we wake up normal readers after walking
the list.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: ucb1x00 - do not access input_dev->private directly
Dmitry Torokhov [Fri, 11 May 2007 05:16:12 +0000 (01:16 -0400)]
Input: ucb1x00 - do not access input_dev->private directly

Use input_get_drvdata() and input_set_drvdata() helpers to do that.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Pavel Machek <pavel@ucw.cz>
17 years ago[ATA]: Don't allow to enable this for SPARC64 without PCI.
David S. Miller [Mon, 4 Jun 2007 00:39:56 +0000 (17:39 -0700)]
[ATA]: Don't allow to enable this for SPARC64 without PCI.

Based upon a report from Meelis Roos.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[VIDEO]: XVR500 and XVR2500 require FB=y
David S. Miller [Mon, 4 Jun 2007 00:35:24 +0000 (17:35 -0700)]
[VIDEO]: XVR500 and XVR2500 require FB=y

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[ICMP]: Fix icmp_errors_use_inbound_ifaddr sysctl
Patrick McHardy [Fri, 1 Jun 2007 18:45:04 +0000 (11:45 -0700)]
[ICMP]: Fix icmp_errors_use_inbound_ifaddr sysctl

Currently when icmp_errors_use_inbound_ifaddr is set and an ICMP error is
sent after the packet passed through ip_output(), an address from the
outgoing interface is chosen as ICMP source address since skb->dev doesn't
point to the incoming interface anymore.

Fix this by doing an interface lookup on rt->dst.iif and using that device.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV4]: Fix "ipOutNoRoutes" counter error for TCP and UDP
Wei Dong [Fri, 1 Jun 2007 05:49:28 +0000 (22:49 -0700)]
[IPV4]: Fix "ipOutNoRoutes" counter error for TCP and UDP

Signed-off-by: Wei Dong <weidong@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET] gso: Fix GSO feature mask in sk_setup_caps
Herbert Xu [Fri, 1 Jun 2007 05:15:50 +0000 (22:15 -0700)]
[NET] gso: Fix GSO feature mask in sk_setup_caps

This isn't a bug just yet as only TCP uses sk_setup_caps for GSO.
However, if and when UDP or something else starts using it this is
likely to cause a problem if we forget to add software emulation
for it at the same time.

The problem is that right now we translate GSO emulation to the
bitmask NETIF_F_GSO_MASK, which includes every protocol, even
ones that we cannot emulate.

This patch makes it provide only the ones that we can emulate.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Fix GSO ignorance of pkts_acked arg (cong.cntrl modules)
Ilpo Järvinen [Fri, 1 Jun 2007 04:37:55 +0000 (21:37 -0700)]
[TCP]: Fix GSO ignorance of pkts_acked arg (cong.cntrl modules)

The code used to ignore GSO completely, passing either way too
small or zero pkts_acked when GSO skb or part of it got ACKed.
In addition, there is no need to calculate the value in the loop
but simple arithmetics after the loop is sufficient. There is
no need to handle SYN case specially because congestion control
modules are not yet initialized when FLAG_SYN_ACKED is set.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Fix comparisons of unsigned < 0.
Bill Nottingham [Fri, 1 Jun 2007 04:33:35 +0000 (21:33 -0700)]
[NET]: Fix comparisons of unsigned < 0.

Recent gcc versions emit warnings when unsigned variables are
compared < 0 or >= 0.

Signed-off-by: Bill Nottingham <notting@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Make net watchdog timers 1 sec jiffy aligned.
Venkatesh Pallipadi [Fri, 1 Jun 2007 04:28:44 +0000 (21:28 -0700)]
[NET]: Make net watchdog timers 1 sec jiffy aligned.

round_jiffies for net dev watchdog timer.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[ATM]: Fix warning.
Jeff Garzik [Fri, 1 Jun 2007 04:26:23 +0000 (21:26 -0700)]
[ATM]: Fix warning.

The compiler warning

drivers/atm/firestream.c: In function ‘top_off_fp’:
drivers/atm/firestream.c:1505: warning: cast to pointer from integer of different size

does indicate a bug, albeit a minor one.  Fixed, by using a 32-bit
temporary prior to the call to bus_to_virt().

The larger bug is still present:  the entire driver assumes that machine
pointers are 32-bit, as it stores pointers in 32-bit hardware registers.
This is obvious to anyone who knows the driver well, but for the casual
readers it is helpfully noted with FIXME.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Use default 32768-61000 outgoing port range in all cases.
Mark Glines [Thu, 31 May 2007 22:44:48 +0000 (15:44 -0700)]
[TCP]: Use default 32768-61000 outgoing port range in all cases.

This diff changes the default port range used for outgoing connections,
from "use 32768-61000 in most cases, but use N-4999 on small boxes
(where N is a multiple of 1024, depending on just *how* small the box
is)" to just "use 32768-61000 in all cases".

I don't believe there are any drawbacks to this change, and it keeps
outgoing connection ports farther away from the mess of
IANA-registered ports.

Signed-off-by: Mark Glines <mark@glines.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[AF_UNIX]: Fix datagram connect race causing an OOPS.
David S. Miller [Thu, 31 May 2007 22:19:20 +0000 (15:19 -0700)]
[AF_UNIX]: Fix datagram connect race causing an OOPS.

Based upon an excellent bug report and initial patch by
Frederik Deweerdt.

The UNIX datagram connect code blindly dereferences other->sk_socket
via the call down to the security_unix_may_send() function.

Without locking 'other' that pointer can go NULL via unix_release_sock()
which does sock_orphan() which also marks the socket SOCK_DEAD.

So we have to lock both 'sk' and 'other' yet avoid all kinds of
potential deadlocks (connect to self is OK for datagram sockets and it
is possible for two datagram sockets to perform a simultaneous connect
to each other).  So what we do is have a "double lock" function similar
to how we handle this situation in other areas of the kernel.  We take
the lock of the socket pointer with the smallest address first in
order to avoid ABBA style deadlocks.

Once we have them both locked, we check to see if SOCK_DEAD is set
for 'other' and if so, drop everything and retry the lookup.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TG3]: Fix link problem on Dell's onboard 5906.
Michael Chan [Thu, 31 May 2007 21:49:51 +0000 (14:49 -0700)]
[TG3]: Fix link problem on Dell's onboard 5906.

The bug is caused by code that always set
(TG3_FLAG_USE_MI_INTERRUPT | TG3_FLAG_USE_LINKCHG_REG) on all Dell's
onboard devices.  With these 2 flags set, the link status is polled
by tg3_timer() and will only work when the PHY is set up to interrupt
the MAC on link changes.  This breaks 5906 because the 5906 PHY does
not support TG3_FLAG_USE_MI_INTERRUPT the same as other PHYs.

For correctness, only Dell's onboard 5701 needs these 2 flags to be
set.  This change will fix the 5906 problem and will change other
Dell devices except 5700 and 5701 to use the more efficient
interrupt-driven link changes.

Update version to 3.77.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[AF_UNIX]: Make socket locking much less confusing.
David S. Miller [Thu, 31 May 2007 20:24:26 +0000 (13:24 -0700)]
[AF_UNIX]: Make socket locking much less confusing.

The unix_state_*() locking macros imply that there is some
rwlock kind of thing going on, but the implementation is
actually a spinlock which makes the code more confusing than
it needs to be.

So use plain unix_state_lock and unix_state_unlock.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Sun, 3 Jun 2007 19:41:05 +0000 (12:41 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  NET: add MAINTAINERS entry for ucc_geth driver
  myri10ge: report link up/down in standard ethtool way
  NetXen: Removal of extra free_irq call
  Update tulip maintainer email address
  smc91x: sh solution engine fixes.
  e1000: disable polling before registering netdevice
  network drivers: eliminate unneeded kill_vid code
  atl1: eliminate unneeded kill_vid code
  8139cp: fix VLAN unregistration
  sky2: Fix VLAN unregistration
  VLAN: kill_vid is only useful for VLAN filtering devices
  qla3xxx: device doesnt do hardware checksumming.

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
Linus Torvalds [Sun, 3 Jun 2007 19:36:56 +0000 (12:36 -0700)]
Merge git://git./linux/kernel/git/wim/linux-2.6-watchdog

* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
  [WATCHDOG] clean-up watchdog documentation
  [WATCHDOG] ks8695_wdt.c - new KS8695 watchdog driver