27 May, 2010
3 commits
-
Add a spin_unlock missing on the error path. There seems like no reason
why the lock should continue to be held if the kzalloc fail.The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)//
@@
expression E1;
@@* spin_lock(E1,...);
* spin_unlock(E1,...);
//Signed-off-by: Julia Lawall
Signed-off-by: David S. Miller -
The current checksum offload code does not work and this corrects
that functionality. It also updates the interrupt coallescing
initialization so than there are fewer interrupts and performance
is increased.Signed-off-by: Brian Hill
Signed-off-by: John Linn
Signed-off-by: David S. Miller -
The code is not checking the interrupt for DMA correctly so that an
interrupt number of 0 will cause a false error.Signed-off-by: Brian Hill
Signed-off-by: John Linn
Signed-off-by: David S. Miller
26 May, 2010
11 commits
-
Sparse complains because these one-bit bitfields are signed.
include/net/sctp/structs.h:879:24: error: dubious one-bit signed bitfield
include/net/sctp/structs.h:889:31: error: dubious one-bit signed bitfield
include/net/sctp/structs.h:895:26: error: dubious one-bit signed bitfield
include/net/sctp/structs.h:898:31: error: dubious one-bit signed bitfield
include/net/sctp/structs.h:901:27: error: dubious one-bit signed bitfieldIt doesn't cause a problem in the current code, but it would be better
to clean it up. This was introduced by c0058a35aacc7: "sctp: Save some
room in the sctp_transport by using bitfields".Signed-off-by: Dan Carpenter
Signed-off-by: David S. Miller -
This fixes a smatch warning:
net/ipv4/ipmr.c +1917 __ipmr_fill_mroute(12) error: buffer overflow
'(mrt)->vif_table' 32
Signed-off-by: David S. Miller -
Sometimes BE requires longer time for POST completion after an EEH
reset. Increasing the timeout value accordingly.Signed-off-by: Sathya Perla
Signed-off-by: David S. Miller -
When the cls_cgroup module is not loaded, task_cls_classid will
return an uninitialised classid instead of zero.Reported-by: Stephen Rothwell
Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller -
Stephen Rothwell reports the following new warning:
drivers/net/usb/asix.c: In function 'asix_rx_fixup':
drivers/net/usb/asix.c:325: warning: cast from pointer to integer of different size
drivers/net/usb/asix.c:354: warning: cast from pointer to integer of different sizeThe code just cares about the low alignment bits, so use
an "unsigned long" cast instead of one to "u32".Signed-off-by: David S. Miller
-
Certain firmware commands/operations to upgrade firmware could take several
seconds to complete. The code presently disables bottom half during these
operations which could lead to unpredictable behaviour in certain cases. This
patch now does all firmware upgrade operations asynchronously using a
completion variable.Signed-off-by: Sarveshwar Bandi
Signed-off-by: David S. Miller -
The commit 00b7c3395aec3df43de5bd02a3c5a099ca51169f
"sysctl: refactor integer handling proc code"
modified the behaviour of writing to /proc.
Before the commit, write("1\n") to /proc/sys/kernel/printk succeeded. But
now it returns EINVAL.This commit supports writing a single value to a multi-valued entry.
Signed-off-by: J. R. Okajima
Reviewed-and-tested-by: WANG Cong
Signed-off-by: David S. Miller -
This patch adds a few new product id's for the hso driver.
Signed-off-by: Filip Aben
Signed-off-by: David S. Miller -
sk_common_release() might destroy our last reference to the socket.
So an extra temporary reference is needed during cleanup.Signed-off-by: Rémi Denis-Courmont
Signed-off-by: David S. Miller
25 May, 2010
19 commits
-
With VEOL, Beacon transmission in ad-hoc does not currently work.
I believe for larger ad-hoc networks, VEOL is too unreliable, as
it can get beacon transmissions stuck during synchronization.
Use SWBA based beacon trasmission similar to AP mode instead.Signed-off-by: Felix Fietkau
Acked-by: Benoit Papillault
Signed-off-by: John W. Linville -
This fixes IBSS beacon transmissions without VEOL enabled
Signed-off-by: Felix Fietkau
Signed-off-by: John W. Linville -
Fix sock.h kernel-doc warning:
Warning(include/net/sock.h:1438): No description found for parameter 'wq'Signed-off-by: Randy Dunlap
Signed-off-by: David S. Miller -
There is a typo in cgroup_cls_state when cls_cgroup is built-in.
Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller -
Fixes possible memory leak.
Signed-off-by: Jiri Pirko
Acked-by: Patrick McHardy
Signed-off-by: David S. Miller -
PCI function reset needs to invoked after fw init ioctl is issued.
Signed-off-by: Sarveshwar Bandi
Signed-off-by: David S. Miller -
Because MIPS's EDQUOT value is 1133(0x46d).
It's larger than u8.Signed-off-by: Yoichi Yuasa
Signed-off-by: David S. Miller -
The functionality to keep the device awake until it is done with
the rx of any mcast/bcast frames which are pending on AP should
also be added to the hardwares which support auto sleep feature.
This patch fixes frequent failures in ARP resolution when it is
initiated by the other end. Currently auto sleep is enabled only
for ar9003 in ath9k.Signed-off-by: Vasanthakumar Thiagarajan
Signed-off-by: John W. Linville -
Fix sta_info.h kernel-doc warnings:
Warning(net/mac80211/sta_info.h:164): No description found for parameter 'tid_active_rx[STA_TID_NUM]'
Warning(net/mac80211/sta_info.h:164): Excess struct/union/enum/typedef member 'tid_state_rx' description in 'sta_ampdu_mlme'Signed-off-by: Randy Dunlap
Acked-by: Johannes Berg
Signed-off-by: John W. Linville -
Fix kernel-doc warnings in mac80211.h:
Warning(include/net/mac80211.h:838): No description found for parameter 'ap_addr'
Warning(include/net/mac80211.h:1726): No description found for parameter 'get_survey'Signed-off-by: Randy Dunlap
Signed-off-by: John W. Linville -
The intent here is to test that "sta_id_r" is a valid pointer. We do
this same test later on in the function.Btw iwl_add_bssid_station() is called from two places and "sta_id_r" is
a valid pointer from both callers.Signed-off-by: Dan Carpenter
Signed-off-by: John W. Linville -
This is obviously a small picky thing. The original error handling code
doesn't free the most recent allocations which haven't been added to the
hif_dev->tx.tx_buf list yet.Signed-off-by: Dan Carpenter
Acked-by: Sujith
Signed-off-by: John W. Linville -
After c11d8f89d3b7: "ath9k_htc: Simplify TX URB management" we no longer
assume that tx_buf is a non-null pointer.Signed-off-by: Dan Carpenter
Acked-by: Sujith
Signed-off-by: John W. Linville -
The recent changes to skb handling introduced a bug in the rt2800usb
TX descriptor writing whereby the length of the USB packet wasn't
calculated correctly.
Found via code inspection, as the devices themselves didn't seem to mind.Signed-off-by: Gertjan van Wingerde
Acked-by: Ivo van Doorn
Signed-off-by: John W. Linville -
(Based on a patch created by Ondrej Zary)
In some circumstances the Ralink devices do not properly go to sleep
or wake up, with timeouts occurring.
Fix this by retrying telling the device that it has to wake up or
sleep.Signed-off-by: Gertjan van Wingerde
Acked-by: Ivo van Doorn
Signed-off-by: John W. Linville -
This reverts commit 03ceedea972a82d343fa5c2528b3952fa9e615d5.
This patch was reported to cause a regression in which connectivity is
lost and cannot be reestablished after a suspend/resume cycle.Signed-off-by: John W. Linville
-
Implicit slab.h inclusion via percpu.h is about to go away. Make sure
gfp.h or slab.h is included as necessary.Signed-off-by: Tejun Heo
Cc: Stephen Rothwell
Signed-off-by: John W. Linville -
Don't use to_pci_dev in rt2x00pci_uninitialize to get the allocated irq
as it won't work for platform devices (SoC). Instead, use the irq field
that's already used everywhere else.Signed-off-by: Helmut Schaa
Acked-by: Ivo van Doorn
Signed-off-by: John W. Linville -
We should use the same buffer size we set up for DMA also in the hardware
descriptor. Previously we used common->rx_bufsize for setting up the DMA
mapping, but used skb_tailroom(skb) for the size we tell to the hardware in the
descriptor itself. The problem is that skb_tailroom(skb) can give us a larger
value than the size we set up for DMA before. This allows the hardware to write
into memory locations not set up for DMA. In practice this should rarely happen
because all packets should be smaller than the maximum 802.11 packet size.On the tested platform rx_bufsize is 2528, and we allocated an skb of 2559
bytes length (including padding for cache alignment) but sbk_tailroom() was
2592. Just consistently use rx_bufsize for all RX DMA memory sizes.Also use the return value of the descriptor setup function.
Cc: stable@kernel.org
Signed-off-by: Bruno Randolf
Reviewed-by: Luis R. Rodriguez
Signed-off-by: John W. Linville
24 May, 2010
7 commits
-
The i.MX25 PDK uses RMII to communicate with its PHY. This patch adds
the ability to configure RMII, based on platform data.Signed-off-by: Baruch Siach
Acked-by: Greg Ungerer
Signed-off-by: David S. Miller -
This patch makes tun update its socket classid every time we
inject a packet into the network stack. This is so that any
updates made by the admin to the process writing packets to
tun is effected.Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller -
Up until now cls_cgroup has relied on fetching the classid out of
the current executing thread. This runs into trouble when a packet
processing is delayed in which case it may execute out of another
thread's context.Furthermore, even when a packet is not delayed we may fail to
classify it if soft IRQs have been disabled, because this scenario
is indistinguishable from one where a packet unrelated to the
current thread is processed by a real soft IRQ.In fact, the current semantics is inherently broken, as a single
skb may be constructed out of the writes of two different tasks.
A different manifestation of this problem is when the TCP stack
transmits in response of an incoming ACK. This is currently
unclassified.As we already have a concept of packet ownership for accounting
purposes in the skb->sk pointer, this is a natural place to store
the classid in a persistent manner.This patch adds the cls_cgroup classid in struct sock, filling up
an existing hole on 64-bit :)The value is set at socket creation time. So all sockets created
via socket(2) automatically gains the ID of the thread creating it.
Whenever another process touches the socket by either reading or
writing to it, we will change the socket classid to that of the
process if it has a valid (non-zero) classid.For sockets created on inbound connections through accept(2), we
inherit the classid of the original listening socket through
sk_clone, possibly preceding the actual accept(2) call.In order to minimise risks, I have not made this the authoritative
classid. For now it is only used as a backup when we execute
with soft IRQs disabled. Once we're completely happy with its
semantics we can use it as the sole classid.Footnote: I have rearranged the error path on cls_group module
creation. If we didn't do this, then there is a window where
someone could create a tc rule using cls_group before the cgroup
subsystem has been registered.Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller -
Anomaly 05000230 (over sampling of the UART STOP bit) applies only when
the peripheral is operating in UART mode. So drop the anomaly handling
in the IRDA code.Signed-off-by: Graf Yang
Signed-off-by: Mike Frysinger
Signed-off-by: David S. Miller -
Dummy implementations for the optional CAPI controller operations
load_firmware and reset_ctr can cause userspace callers to hang
indefinitely. It's better not to implement them at all.Signed-off-by: Tilman Schmidt
Acked-by: Karsten Keil
Signed-off-by: David S. Miller -
The CAPI controller operation reset_ctr is marked as optional, and
not all drivers do implement it. Add a check to the kernel CAPI
whether it exists before trying to call it.Signed-off-by: Tilman Schmidt
Acked-by: Karsten Keil
Signed-off-by: David S. Miller -
This assignment got deleted along with the checks by mistake. This
comes from: 8753d29fd "pppoe: remove unnecessary checks in
pppoe_flush_dev"Signed-off-by: Dan Carpenter
Signed-off-by: David S. Miller