12 Dec, 2009
12 commits
-
Commit 4447bb33f09444920a8f1d89e1540137429351b6 ("xfrm: Store aalg in
xfrm_state with a user specified truncation length") breaks
installation of authentication algorithms via PF_KEY, as the state
specific truncation length is not installed with the algorithms
default truncation length. This patch initializes state properly to
the default if installed via PF_KEY.Signed-off-by: Martin Willi
Acked-by: Herbert Xu
Signed-off-by: David S. Miller -
Use (get|put)_compat_timespec helper functions to simplify the code.
Cc: Arnaldo Carvalho de Melo
Signed-off-by: Heiko Carstens
Acked-by: Arnaldo Carvalho de Melo
Signed-off-by: David S. Miller -
compat_sys_recvmmsg has a compat_timespec parameter and not a
timespec parameter. This way we also get rid of an odd cast.Cc: Arnaldo Carvalho de Melo
Signed-off-by: Heiko Carstens
Acked-by: Arnaldo Carvalho de Melo
Signed-off-by: David S. Miller -
After commit 4b77b0a2ba27d64f58f16d8d4d48d8319dda36ff ("PCI: Clear
saved_state after the state has been restored"), the EEH is not
working proplery on cxgb3.This patch fixes it, always saving the PCI state after a recovery,
in order to allow further reoveries.Signed-off-by: Breno Leitao
Signed-off-by: David S. Miller -
To prevent stale indices from causing spurious events when restarting the
bnx2x devices.Signed-off-by: Michael Chan
Signed-off-by: David S. Miller -
This step is necessary on the bnx2x devices when restarting the iSCSI
ring. Without it, the firmware can assert and cause bnx2x to report
errors.Signed-off-by: Michael Chan
Signed-off-by: David S. Miller -
smc_drv_resume() takes a struct device, while smc_enable_device() takes a
platform device. This fixes up the smc_enable_device() callsite with the
proper pointer.It's not obvious when this change was introduced, as git history doesn't
go back that far. Presumably the resume code has always been broken in
this fashion.Signed-off-by: Paul Mundt
Signed-off-by: David S. Miller -
Local flags variables will be declared whenever these functions get used,
but obviously on UP systems the flags parameter won't be touched. So add
some dummy ops that get optimized away anyways to satisfy gcc's warnings.Signed-off-by: Mike Frysinger
Acked-by: Nicolas Pitre
Signed-off-by: David S. Miller -
Oliver Neukum takes over from Greg KH
Signed-off-by: Oliver Neukum
Signed-off-by: Greg Kroah-Hartman
Signed-off-by: David S. Miller -
Add missing TST_CFG_WRITE bits around sky2_pci_write*() in Optima
setup routines. Without the cfg-write bits, the driver may spew endless
link-up messages through qlink irq.Signed-off-by: Takashi Iwai
Signed-off-by: David S. Miller -
Fix the TCP offload setup for Yukon-2 Optima.
It requires SKY2_HW_NE_LE flag unlike Ultra 2.Signed-off-by: Takashi Iwai
Signed-off-by: David S. Miller
11 Dec, 2009
8 commits
-
From: Randy Dunlap
niu drivers uses crc32 functions, so it needs to select CRC32.
niu.c:(.text+0x18a7f8): undefined reference to `crc32_le'
Signed-off-by: Randy Dunlap
Signed-off-by: David S. Miller -
Update "US" and "JP" for current rules, and replace "EU" rules with the
world roaming domain (since it was only a pseudo-domain anyway).Signed-off-by: John W. Linville
-
The patch ("mac80211: Use correct sign for mesh active path
refresh.") was actually a bug. Reverted it and improved the
explanation of how mesh path refresh works.Signed-off-by: Javier Cardona
Signed-off-by: Andrey Yurovsky
Cc: stable@kernel.org
Signed-off-by: John W. Linville -
Paths to mesh portals were being timed out immediately after each use in
intermediate forwarding nodes. mppath->exp_time is set to the expiration time
so assigning it to jiffies was marking the path as expired.Signed-off-by: Javier Cardona
Signed-off-by: Andrey Yurovsky
Cc: stable@kernel.org
Signed-off-by: John W. Linville -
Memset should be given the size of the structure, not the size of the pointer.
The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)//
@@
type T;
T *x;
expression E;
@@memset(x, E, sizeof(
+ *
x))
//Signed-off-by: Julia Lawall
Signed-off-by: John W. Linville -
As shown in Kernel Bugzilla #14761, doing a controller restart after a
fatal DMA error does not accomplish anything other than consume the CPU
on an affected system. Accordingly, substitute a meaningful message for
the restart.Signed-off-by: Larry Finger
Cc: Stable [2.6.32]
Signed-off-by: John W. Linville -
Michael Buesch reports that his rtl8187 gives warnings on suspend
("queueing ieee80211 work while going to suspend" warnings), as rtl8187
can call ieee80211_queue_delayed_work after mac80211 is suspended.This change enhances rtl8187 led code so we can avoid queuing work after
mac80211 is suspended: now we register a radio led and make additional
checks to ensure led is off/on properly as mac80211 wants.Signed-off-by: Herton Ronaldo Krzesinski
Tested-by: Larry Finger
Cc: Stable
Signed-off-by: John W. Linville -
Without this we have no gaurantee of the integrity of the
EEPROM and are likely to encounter a lot of bogus bug reports
due to actual issues on the EEPROM. With the EEPROM checksum
check in place we can easily rule those issues out.If you run patch during a revert *you* have a card with a busted
EEPROM and only older kernel will support that concoction. This
patch is a trade off between not accepitng bogus EEPROMs and
avoiding bogus bug reports allowing developers to focus instead
on real concrete issues.If stable keeps bogus bug reports because of a possibly busted EEPROM
feel free to apply this there too.Tested on an AR5414
Cc: stable@kernel.org
Cc: jirislaby@gmail.com
Cc: akpm@linux-foundation.org
Cc: rjw@sisk.pl
Cc: me@bobcopeland.com
Cc: david.quan@atheros.com
Signed-off-by: Luis R. Rodriguez
Signed-off-by: John W. Linville
10 Dec, 2009
2 commits
-
This part was missed in "cfg80211: implement get_wireless_stats",
probably because sta_set_sinfo already existed and was only handling
dBm signals.Cc: stable@kernel.org
Signed-off-by: John W. Linville -
When the current_bss is not set, 'iwconfig key off' does not
clear the private flag. Hence after we connect with WEP to an AP and
then try to connect with another non-WEP AP, it does not work.
This issue will not be seen if supplicant is used.Signed-off-by: Vivek Natarajan
Signed-off-by: John W. Linville
09 Dec, 2009
18 commits
-
commit 46ceb60ca80fa07703bc6eb8f4651f900dff5a82 ("gianfar: Add
Multiple group Support") introduced the following build error
with CONFIG_NET_POLL_CONTROLLER=y:CC ggianfar.o
ggianfar.c: In function 'gfar_netpoll':
ggianfar.c:2653: error: invalid storage class for function 'gfar_interrupt'
ggianfar.c:2652: warning: ISO C90 forbids mixed declarations and code
ggianfar.c:2681: error: invalid storage class for function 'adjust_link'
ggianfar.c:2764: error: invalid storage class for function 'gfar_set_multi'
ggianfar.c:2855: error: invalid storage class for function 'gfar_clear_exact_match'
ggianfar.c:2877: error: invalid storage class for function 'gfar_set_hash_for_addr'
ggianfar.c:2898: error: invalid storage class for function 'gfar_set_mac_for_addr'
ggianfar.c:2922: error: invalid storage class for function 'gfar_error'
ggianfar.c:3020: warning: ISO C90 forbids mixed declarations and code
ggianfar.c:3032: error: invalid storage class for function 'gfar_init'
ggianfar.c:3037: error: invalid storage class for function 'gfar_exit'
ggianfar.c:3041: error: initializer element is not constant
ggianfar.c:3042: error: initializer element is not constant
ggianfar.c:3042: warning: ISO C90 forbids mixed declarations and code
ggianfar.c:3042: error: expected declaration or statement at end of input
make[1]: *** [ggianfar.o] Error 1This patch fixes the issue.
Reported-by: Benjamin Herrenschmidt
Signed-off-by: Anton Vorontsov
Signed-off-by: David S. Miller -
About 50% of shutdowns of b44 Ethernet adapter ends by kernel panic
with kernels compiled with stack-protector.Checking b44_magic_pattern() return values, one call of
b44_magic_pattern() returns 127. It means, that set_bit(128, pmask)
was called on line 1509. It means that bit 0 of 17th byte of pmask was
overwritten. But pmask has only 16 bytes. Stack corruption happens.It seems that set_bit() on line 1509 always writes one bit off.
The fix does not only solve the stack corruption, but also makes Wake
On LAN working on my onboard B44 on Asus A7V-333X mainboard.It seems that this problem affects all kernel versions since commit
725ad800 ([PATCH] b44: add wol for old nic) on 2006-06-20.Signed-off-by: Stanislav Brabec
Signed-off-by: David S. Miller -
It can happen, that tcp_retransmit_skb fails due to some error.
In such cases we might end up into a state where tp->retrans_out
is zero but that's only because we removed the TCPCB_SACKED_RETRANS
bit from a segment but couldn't retransmit it because of the error
that happened. Therefore some assumptions that retrans_out checks
are based do not necessarily hold, as there still can be an old
retransmission but that is only visible in TCPCB_EVER_RETRANS bit.
As retransmission happen in sequential order (except for some very
rare corner cases), it's enough to check the head skb for that bit.Main reason for all this complexity is the fact that connection dying
time now depends on the validity of the retrans_stamp, in particular,
that successive retransmissions of a segment must not advance
retrans_stamp under any conditions. It seems after quick thinking that
this has relatively low impact as eventually TCP will go into CA_Loss
and either use the existing check for !retrans_stamp case or send a
retransmission successfully, setting a new base time for the dying
timer (can happen only once). At worst, the dying time will be
approximately the double of the intented time. In addition,
tcp_packet_delayed() will return wrong result (has some cc aspects
but due to rarity of these errors, it's hardly an issue).One of retrans_stamp clearing happens indirectly through first going
into CA_Open state and then a later ACK lets the clearing to happen.
Thus tcp_try_keep_open has to be modified too.Thanks to Damian Lukowski for hinting
that this possibility exists (though the particular case discussed
didn't after all have it happening but was just a debug patch
artifact).Signed-off-by: Ilpo Järvinen
Signed-off-by: David S. Miller -
This patch moves retransmits_timed_out() from include/net/tcp.h
to tcp_timer.c, where it is used.Reported-by: Frederic Leroy
Signed-off-by: Damian Lukowski
Acked-by: Ilpo Järvinen
Signed-off-by: David S. Miller -
This patch fixes a problem in the TCP connection timeout calculation.
Currently, timeout decisions are made on the basis of the current
tcp_time_stamp and retrans_stamp, which is usually set at the first
retransmission.
However, if the retransmission fails in tcp_retransmit_skb(),
retrans_stamp is not updated and remains zero. This leads to wrong
decisions in retransmits_timed_out() if tcp_time_stamp is larger than
the specified timeout, which is very likely.
In this case, the TCP connection dies after the first attempted
(and unsuccessful) retransmission.With this patch, tcp_skb_cb->when is used instead, when retrans_stamp
is not available.This bug has been introduced together with retransmits_timed_out() in
2.6.32, as the number of retransmissions has been used for timeout
decisions before. The corresponding commit was
6fa12c85031485dff38ce550c24f10da23b0adaa (Revert Backoff [v3]:
Calculate TCP's connection close threshold as a time value.).Thanks to Ilpo Järvinen for code suggestions and Frederic Leroy for
testing.Reported-by: Frederic Leroy
Signed-off-by: Damian Lukowski
Acked-by: Ilpo Järvinen
Signed-off-by: David S. Miller -
use common_task instead of reset_task and link_chg_task, so it fix "call cancel_work_sync
from the work itself".Signed-off-by: Jie Yang
Signed-off-by: David S. Miller -
add pci map direction in atl1c_buffer flags, it is used when call pci_unmap
apis.
Signed-off-by: Jie Yang
Signed-off-by: David S. Miller -
Signed-off-by: Joe Perches
Signed-off-by: David S. Miller -
Unified firmware image may not contain MN type of firmware.
Driver should fall back to NOMN firmware type instead
of going to flash.Signed-off-by: Dhananjay Phadke
Signed-off-by: Amit Kumar Salecha
Signed-off-by: David S. Miller -
o netif_running() check for enabling interrupt at end of napi poll is
not enough to cover firmwar recovery. Instead test __NX_DEV_UP bit.
o Avoid re-entry into to netxen_nic_down() with __NX_DEV_UP bit check.Acked-by: Dhananjay Phadke
Signed-off-by: Amit Kumar Salecha
Signed-off-by: David S. Miller -
o To prevent race conditions with other reset events.
During suspend/resume and firmware recovery, acquire rtnl_lock,
while changing interface state.Acked-by: Dhananjay Phadke
Signed-off-by: Amit Kumar Salecha
Signed-off-by: David S. Miller -
Check for valid hw address.
Signed-off-by: Denis Kirjanov
Signed-off-by: David S. Miller -
Various additions and improvements to the Gigaset driver's README
file, and added comments to its userspace visible include file.Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
When built with debugging support, the Gigaset driver enabled some
debugging messages by default. Change the default to "all off".Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
Fix the locking scheme on the fec_mpc52xx driver. This device can
receive IRQs from three sources; the FEC itself, the tx DMA, and the
rx DMA. Mutual exclusion was handled by taking a spin_lock() in the
critical regions, but because the handlers are run with IRQs enabled,
spin_lock() is insufficient and the driver can end up interrupting
a critical region anyway from another IRQ.Asier Llano discovered that this occurs when an error IRQ is raised
in the middle of handling rx irqs which resulted in an sk_buff memory
leak.In addition, locking is spotty at best in the driver and inspection
revealed quite a few places with insufficient locking.This patch is based on Asier's initial work, but reworks a number of
things so that locks are held for as short a time as possible, so
that spin_lock_irqsave() is used everywhere, and so the locks are
dropped when calling into the network stack (because the lock only
protects the hardware interface; not the network stack).Boot tested on a lite5200 with an NFS root. Has not been performance
tested.Signed-off-by: Asier Llano
Signed-off-by: Grant Likely
Signed-off-by: David S. Miller -
Use a more effective rss hash by default (src + dst, rather than just
src).Signed-off-by: Brice Goglin
Signed-off-by: David S. Miller -
in routed mode, we don't have a hardware address so netdev_ops doesnt
need to validate our hardware address via .ndo_validate_addrReported-by: Manuel Fuentes
Signed-off-by: Chas Williams - CONTRACTOR
Signed-off-by: David S. Miller -
due to reference counting sk_wmem_alloc now has a value of 1 when all
the outstanding data has been sent.Signed-off-by: Chas Williams - CONTRACTOR
Signed-off-by: David S. Miller