21 Apr, 2009
18 commits
-
pcnet_cs: add cis(firmware) of the Allied Telesis LA-PCM
Signed-off-by: Ken Kawasaki
Signed-off-by: David S. Miller -
If creating a workqueue fails, don't jump to the error path where that
same workqueue is destroyed, since destroy_workqueue() can't handle a
NULL pointer.This was spotted by the Coverity checker (CID 2617).
Signed-off-by: Roland Dreier
Signed-off-by: David S. Miller -
The per ring counters are implemented in SW. Now moving to have the total
counters as the sum of all rings. This way the numbers will always be consistent
and we no longer depend on HW buffer size limitations for those counters
that can be insufficient in some cases.Signed-off-by: Yevgeny Petrilin
Signed-off-by: David S. Miller -
The former usage was to set the NETIF_F_HW_CSUM flag which is not used
in get_tx_csum. It caused Ethtool to show tx checksum as "on" even
though it was turned off in previous operation.Signed-off-by: Yevgeny Petrilin
Signed-off-by: David S. Miller -
The low level driver always assumes this handler exists.
The lack of it could cause kernel panicSigned-off-by: Yevgeny Petrilin
Signed-off-by: David S. Miller -
The query whether the port is up or not should be done at
the execution of the restart task and not when it is queued.Signed-off-by: Yevgeny Petrilin
Signed-off-by: David S. Miller -
In case of failure of either srq creation or page allocation,
the cleanup code handled the failed ring as well, and tried
to destroy resources that where not allocated.Signed-off-by: Yevgeny Petrilin
Signed-off-by: David S. Miller -
The recent NVRAM patches sanitized how the driver deals with NVRAM
data, but they failed to bring the SEEPROM interfaces inline with
the new strategy. This patch brings the SEEPROM interfaces up to date.
This patch also reverts commit 0d489ffb76de0fe804cf06a9d4d11fa7342d74b9
("tg3: fix big endian MAC address collection failure").Signed-off-by: Matt Carlson
Signed-off-by: Michael Chan
Tested-by: Robin Holt
Tested-by: James Bottomley
Signed-off-by: David S. Miller -
"mac80211: fix basic rates setting from association response"
introduced a copy/paste error.Unfortunately, this not just leads to wrong data being passed
to the driver but is remotely exploitable for some hardware or
driver combinations.Signed-off-by: Johannes Berg
Cc: stable@kernel.org [2.6.29]
Signed-off-by: John W. Linville -
Currently beacon loss detection triggers after a scan. A probe request
is sent and a message like this is printed to the log:wlan0: beacon loss from AP 00:12:17:e7:98:de - sending probe request
But in fact there is no beacon loss, the beacons are just not received
because of the ongoing scan. Fix it by updating last_beacon after
the scan has finished.Reported-by: Jaswinder Singh Rajput
Signed-off-by: Kalle Valo
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
One of the code paths sending deauth/disassoc events ends up calling
this function with rcu_read_lock held, so we must use GFP_ATOMIC in
allocation routines.Reported-by: Johannes Berg
Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
This patch fixes a hang on resume when the filesystem is not
available and request_firmware blocks.However, the device does not accept the firmware on resume.
and it will exit with:> firmware part 1 upload failed (-71).
> device is in a bad state. please reconnect it!Reported-by: Johannes Berg
Signed-off-by: Christian Lamparter
Signed-off-by: John W. Linville -
Remove this unused Kconfig variable, which Intel apparently once
promised to make use of but never did.Signed-off-by: Robert P. J. Day
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
swap mwl8k_remove and mwl8k_shutdown functions to allow
"rmmod mwl8k; modprobe mwl8k"Signed-off-by: Joerg Albert
Signed-off-by: John W. Linville -
This patch deactivates powersave in station mode.
It does not work correctly yet, so the code does more harm than good.
Reported-by: Johannes Berg
Signed-off-by: Christian Lamparter
Signed-off-by: John W. Linville -
"not" is not printed without a space after %pM
Signed-off-by: Joe Perches
Signed-off-by: John W. Linville -
After suspend & resume the rt2x00 devices won't wakeup
anymore due to a broken register information setup.
The most important problem is the release of the EEPROM
buffer which is completely cleared and never read again
after the suspend.Signed-off-by: Ivo van Doorn
Signed-off-by: John W. Linville
20 Apr, 2009
15 commits
-
As the sk_sleep wait queue actually lives in tfile, which may be
detached from the tun device, bad things will happen when we use
sk_sleep after detaching.Since the tun device is the persistent data structure here (when
requested by the user), it makes much more sense to have the wait
queue live there. There is no reason to have it in tfile at all
since the only time we can wait is if we have a tun attached.
In fact we already have a wait queue in tun_struct, so we might
as well use it.Reported-by: Eric W. Biederman
Tested-by: Christian Borntraeger
Tested-by: Patrick McHardy
Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller -
The commit c70f182940f988448f3c12a209d18b1edc276e33 ("tun: Fix
races between tun_net_close and free_netdev") fixed a race where
an asynchronous deletion of a tun device can hose a poll(2) on
a tun fd attached to that device.However, this came at the cost of moving the tun wait queue into
the tun file data structure. The problem with this is that it
imposes restrictions on when and where the tun device can access
the wait queue since the tun file may change at any time due to
detaching and reattaching.In particular, now that we need to use the wait queue on the
receive path it becomes difficult to properly synchronise this
with the detachment of the tun device.This patch solves the original race in a different way. Since
the race is only because the underlying memory gets freed, we
can prevent it simply by ensuring that we don't do that until
all tun descriptors ever attached to the device (even if they
have since be detached because they may still be sitting in poll)
have been closed.This is done by using reference counting the attached tun file
descriptors. The refcount in tun->sk has been reappropriated
for this purpose since it was already being used for that, albeit
from the opposite angle.Note that we no longer zero tfile->tun since tun_get will return
NULL anyway after the refcount on tfile hits zero. Instead it
represents whether this device has ever been attached to a device.Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller -
This loop over fragments in napi_fraginfo_skb() was "interesting".
Signed-off-by: Ben Hutchings
Signed-off-by: David S. Miller -
Signed-off-by: Marcin Slusarz
Signed-off-by: David S. Miller -
Just noticed while doing some new work that the recent
mid-wq adjustment logic will misbehave when FACK is not
in use (happens either due sysctl'ed off or auto-detected
reordering) because I forgot the relevant TCPCB tagbit.Signed-off-by: Ilpo Järvinen
Signed-off-by: David S. Miller -
Alex Sidorenko reported:
"while experimenting with 'netem' we have found some strange behaviour. It
seemed that ingress delay as measured by 'ping' command shows up on some
hosts but not on others.After some investigation I have found that the problem is that skbuff->tstamp
field value depends on whether there are any packet sniffers enabled. That
is:- if any ptype_all handler is registered, the tstamp field is as expected
- if there are no ptype_all handlers, the tstamp field does not show the delay"This patch prevents unnecessary update of tstamp in dev_queue_xmit_nit()
on ingress path (with act_mirred) adding a check, so minimal overhead on
the fast path, but only when sniffers etc. are active.Since netem at ingress seems to logically emulate a network before a host,
tstamp is zeroed to trigger the update and pretend delays are from the
outside.Reported-by: Alex Sidorenko
Tested-by: Alex Sidorenko
Signed-off-by: Jarek Poplawski
Signed-off-by: David S. Miller -
This has been broken for a while. I happened to catch it testing because one
app "knew" that the top line of the calls data was the policy line and got
confused.Put the header back.
Signed-off-by: Alan Cox
Signed-off-by: David S. Miller -
EEH attempts to recover up 6 times.
The last attempt leaves all the ports and adapter down.hen
The driver is then unloaded, bringing the adapter down again
unconditionally. The unload will hang.
Check if the adapter is already down before trying to bring it down again.Signed-off-by: Divy Le Ray
Signed-off-by: David S. Miller -
Release vectors when a MSI-X allocation fails.
Signed-off-by: Divy Le Ray
Signed-off-by: David S. Miller -
The fatal error task can be scheduled while processing an offload packet
in NAPI context when the connection handle is bogus. this can race
with the ports being brought down and the cxgb3 workqueue being flushed.
Stop napi processing before flushing the work queue.The ULP drivers (iSCSI, iWARP) might also schedule a task on keventd_wk
while releasing a connection handle (cxgb3_offload.c::cxgb3_queue_tid_release()).
The driver however does not flush any work on keventd_wq while being unloaded.
This patch also fixes this.Also call cancel_delayed_work_sync in place of the the deprecated
cancel_rearming_delayed_workqueue.Signed-off-by: Divy Le Ray
Signed-off-by: David S. Miller -
Use the existing periodic task to handle link faults.
The link fault interrupt handler is also called in work queue context,
which is wrong and might cause potential deadlocks.Signed-off-by: Divy Le Ray
Signed-off-by: David S. Miller -
The Broadcom chips with 2.1 firmware handle the fallback case to a SCO
link wrongly when setting up eSCO connections.< HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17
handle 11 voice setting 0x0060
> HCI Event: Command Status (0x0f) plen 4
Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
> HCI Event: Connect Complete (0x03) plen 11
status 0x00 handle 1 bdaddr 00:1E:3A:xx:xx:xx type SCO encrypt 0x01The Link Manager negotiates the fallback to SCO, but then sends out
a Connect Complete event. This is wrong and the Link Manager should
actually send a Synchronous Connection Complete event if the Setup
Synchronous Connection has been used. Only the remote side is allowed
to use Connect Complete to indicate the missing support for eSCO in
the host stack.This patch adds a workaround for this which clearly should not be
needed, but reality is that broken Broadcom devices are deployed.Based on a report by Ville Tervo
Signed-off-by: Marcel Holtman
-
Some Bluetooth chips (like the ones from Texas Instruments) don't do
proper eSCO negotiations inside the Link Manager. They just return an
error code and in case of the Kyocera ED-8800 headset it is just a
random error.< HCI Command: Setup Synchronous Connection 0x01|0x0028) plen 17
handle 1 voice setting 0x0060
> HCI Event: Command Status (0x0f) plen 4
Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
> HCI Event: Synchronous Connect Complete (0x2c) plen 17
status 0x1f handle 257 bdaddr 00:14:0A:xx:xx:xx type eSCO
Error: Unspecified ErrorIn these cases it is up to the host stack to fallback to a SCO setup
and so retry with SCO parameters.Based on a report by Nick Pelly
Signed-off-by: Marcel Holtmann
-
There is a missing call to rfcomm_dlc_clear_timer in the case that
DEFER_SETUP is used and so the connection gets disconnected after the
timeout even if it was successfully accepted previously.This patch adds a call to rfcomm_dlc_clear_timer to rfcomm_dlc_accept
which will get called when the user accepts the connection by calling
read() on the socket.Signed-off-by: Johan Hedberg
Signed-off-by: Marcel Holtmann
18 Apr, 2009
7 commits
-
Check whether the underlying device provides a set of ethtool ops before
checking for individual handlers to avoid NULL pointer dereferences.Reported-by: Art van Breemen
Signed-off-by: Patrick McHardy
Signed-off-by: David S. Miller -
Signed-off-by: Christian Lamparter
Signed-off-by: John W. Linville -
The TIM IE must not be shorter than 4 bytes, so verify that
when parsing it.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Instead, allocate extra IE memory if necessary. Normally,
this isn't even necessary since there's enough space.This is a better way of correcting the "held BSS can
disappear" issue, but also a lot more code. It is also
necessary for proper auth/assoc BSS handling in the
future.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
When we receive a probe response frame we can replace the
BSS struct in our list -- but if that struct is held then
we need to hold the new one as well.We really should fix this completely and not replace the
struct, but this is a bandaid for now.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville