aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-05-16Merge git://git.samba.org/sfrench/cifs-2.6Linus Torvalds1-1/+2
Pull CIFS fix from Jeff Layton * git://git.samba.org/sfrench/cifs-2.6: cifs: fix misspelling of "forcedirectio"
2012-05-16Merge branch 'stable' of ↵Linus Torvalds5-34/+73
git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile Pull two Tile arch fixes from Chris Metcalf: "These are both bug-fixes, one to avoid some issues in how we invoke the "pending userspace work" flags on return to userspace, and the other to provide the same signal handler arguments for tilegx32 that we do for tilegx64." * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: arch/tile: apply commit 74fca9da0 to the compat signal handling as well arch/tile: fix up some issues in calling do_work_pending()
2012-05-16Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds22-74/+178
Pull networking tree from David Miller: 1) ptp_pch driver build broke during this merge window due to missing slab.h header, fix from Geery Uytterhoeven. 2) If ipset passes in a bogus hash table size we crash because the size is not validated properly. Compounding this, gcc-4.7 can miscompile ipset such that even when the user specifies legitimate parameters the tool passes in an out-of-range size to the kernel. Fix from Jozsef Kadlecsik. 3) Users have reported that the netdev watchdog can trigger with pch_gbe devices, and it turns out this is happening because of races in the TX path of the driver leading to the transmitter hanging. Fix from Eric Dumazet, reported and tested by Andy Cress. 4) Novatel USB551L devices match the generic class entries for the cdc ethernet USB driver, but they don't work because they have generic descriptors and thus need FLAG_WWAN to function properly. Add the necessary ID table entry to fix this, from Dan Williams. 5) A recursive locking fix in the USBNET driver added a new problem, in that packet list traversal is now racy and we can thus access unlinked SKBs and crash. Avoid this situation by adding some extra state tracking, from Ming Lei. 6) The rtlwifi conversion to asynchronous firmware loading is racy, fix by reordering the probe procedure. From Larry Finger. Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=43187 7) Fix regressions with bluetooth keyboards by notifying userland properly when the security level changes, from Gustavo Padovan. 8) Bluetooth needs to make sure device connected events are emitted before other kinds of events, otherwise userspace will think there is no baseband link yet and therefore abort the sockets associated with that connection. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: netfilter: ipset: fix hash size checking in kernel ptp_pch: Add missing #include <linux/slab.h> pch_gbe: fix transmit races cdc_ether: add Novatel USB551L device IDs for FLAG_WWAN usbnet: fix skb traversing races during unlink(v2) Bluetooth: mgmt: Fix device_connected sending order Bluetooth: notify userspace of security level change rtlwifi: fix for race condition when firmware is cached
2012-05-16arch/tile: apply commit 74fca9da0 to the compat signal handling as wellChris Metcalf1-7/+5
This passes siginfo and mcontext to tilegx32 signal handlers that don't have SA_SIGINFO set just as we have been doing for tilegx64. Cc: [email protected] Signed-off-by: Chris Metcalf <[email protected]>
2012-05-16arch/tile: fix up some issues in calling do_work_pending()Chris Metcalf4-27/+68
First, we were at risk of handling thread-info flags, in particular do_signal(), when returning from kernel space. This could happen after a failed kernel_execve(), or when forking a kernel thread. The fix is to test in do_work_pending() for user_mode() and return immediately if so; we already had this test for one of the flags, so I just hoisted it to the top of the function. Second, if a ptraced process updated the callee-saved registers in the ptregs struct and then processed another thread-info flag, we would overwrite the modifications with the original callee-saved registers. To fix this, we add a register to note if we've already saved the registers once, and skip doing it on additional passes through the loop. To avoid a performance hit from the couple of extra instructions involved, I modified the GET_THREAD_INFO() macro to be guaranteed to be one instruction, then bundled it with adjacent instructions, yielding an overall net savings. Reported-By: Al Viro <[email protected]> Signed-off-by: Chris Metcalf <[email protected]>
2012-05-16netfilter: ipset: fix hash size checking in kernelJozsef Kadlecsik8-21/+65
The hash size must fit both into u32 (jhash) and the max value of size_t. The missing checking could lead to kernel crash, bug reported by Seblu. Signed-off-by: Jozsef Kadlecsik <[email protected]> Signed-off-by: Pablo Neira Ayuso <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16Merge branch 'for-upstream' of ↵John W. Linville27-741/+1349
git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
2012-05-16qeth: recognize vlan devices in layer3 mode[email protected]1-2/+2
The qeth layer3 driver is notified about IP address changes. Changes concerning qeth driven network interfaces have to be forwarded to the OSA-card. This includes IP addresses of VLAN interfaces with a qeth device as base device. Function qeth_l3_verify_vlan_dev() determines if the net_device of the IP event belongs to a vlan device belonging to a qeth device as real device. This function is broken starting with commit 7ff0bcf676f7ed224ce21b58c7858c8e527068b2 , which means IP addresses of VLAN devices are no longer set at the base qeth device. The patch repairs function qeth_l3_verify_vlan_dev(). Signed-off-by: Ursula Braun <[email protected]> Signed-off-by: Frank Blaschka <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16qeth: remove token ring part 2Frank Blaschka5-181/+0
Commit 1abd2296b4a1ee7b6a883541c3ede52042a09521 starts removing token ring from qeth_l3. This patch removes the rest of token ring related code from the driver. Signed-off-by: Frank Blaschka <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16net: sock_flag() cleanupEric Dumazet2-8/+8
- sock_flag() accepts a const pointer - sock_flag() returns a boolean Signed-off-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16fq_codel: should use qdisc backlog as thresholdEric Dumazet3-12/+12
codel_should_drop() logic allows a packet being not dropped if queue size is under max packet size. In fq_codel, we have two possible backlogs : The qdisc global one, and the flow local one. The meaningful one for codel_should_drop() should be the global backlog, not the per flow one, so that thin flows can have a non zero drop/mark probability. Signed-off-by: Eric Dumazet <[email protected]> Cc: Dave Taht <[email protected]> Cc: Kathleen Nichols <[email protected]> Cc: Van Jacobson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mISDN: Implement MISDN_CTRL_RX_OFF for more driversKarsten Keil10-13/+67
MISDN_CTRL_RX_OFF is a meachanism to discard RX data in the driver if the data is not needed by the application. It can be used when playing mesages, but not recording or with unidirectional protocols. Signed-off-by: Karsten Keil <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mISDN: Implement MISDN_CTRL_FILL_EMPTY for more driversKarsten Keil11-161/+243
MISDN_CTRL_FILL_EMPTY is a meachanism to send a fixed value (normally silence) as long no data from upper layers is available. It can be used when recording voice messages or with unidirectional protocols. Signed-off-by: Karsten Keil <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mISDN: Allow to set a minimum length for transparent dataKarsten Keil12-132/+135
If the FIFO of the card is small, many short messages are queued up to the upper layers and the userspace. This change allows the applications to set a minimum datalen they want from the drivers. Create a common control function to avoid code duplication in each driver. Signed-off-by: Karsten Keil <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mISDN: Reduce RX buffer allocation for transparent dataKarsten Keil10-188/+186
We did allways allocate maxsize buffers, but for transparent data we know the actual size. Use a common function to calculate size and detect overflows. Signed-off-by: Karsten Keil <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mISDN: Bugfix hfcsusb: usb endpoint activation/deactivationMartin Bachem1-8/+2
Here was a off by one in the activation/deactivation. The additional activation in open_bchannel() did hide it, but only if you do not try to use B2. Signed-off-by: Martin Bachem <[email protected]> Signed-off-by: Karsten Keil <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mISDN: avmfritz use the bigger fifo of chip version 2Karsten Keil1-27/+41
If we detect the latest hardware revision we should use the bigger fifo to avoid TX underruns and have less interrupts. TX underruns should be logged as warning. Signed-off-by: Karsten Keil <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mISDN: Early confirm for transparent dataKarsten Keil10-118/+43
It is better to send a confirm for transparent data early as possible to avoid TX underuns. Signed-off-by: Karsten Keil <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mISDN: Cleanup channel also if it already was deactivatedKarsten Keil8-49/+23
If a channel was closed after it was deactivated it could happen that something was not proper resetted. The test if a channel is still activ was wrong, so remove it and always do the cleanup. Signed-off-by: Karsten Keil <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16Documentation/networking/ieee802154: update MAC chapter[email protected]1-16/+59
Update the documentation according to latest changes. Signed-off-by: Alexander Smirnov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16drivers/ieee802154: IEEE 802.15.4 loopback driver[email protected]3-0/+303
Add support for IEEE 802.15.4 loopback driver - useful development and debugging tool. Signed-off-by: Alexander Smirnov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mac802154: monitor device support[email protected]8-2/+150
Support for monitor device intended to capture all the network activity. This interface could be used by networks sniffers and is already supported by WireShark. That's a good test point to check that basic MAC support works. Signed-off-by: Alexander Smirnov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mac802154: slaves management support[email protected]2-0/+145
This patch adds functionality for registration and removing slaves in the stack. Signed-off-by: Alexander Smirnov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16ieee802154: interface type to be added[email protected]3-2/+15
This stack implementation distinguishes several types of slave interfaces. Another parameter to 'add_iface_' function is added to clarify the interface type is going to be registered. Signed-off-by: Alexander Smirnov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mac802154: basic mib support[email protected]3-1/+97
Basic support for IEEE 802.15.4 management information base. Current implementation contains a command to set HW address only. Signed-off-by: Alexander Smirnov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mac802154: basic MAC commands interface support[email protected]3-1/+48
Declare set of MAC-commands for reduced functionality interface. Signed-off-by: Alexander Smirnov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mac802154: slave interfaces declaration[email protected]1-0/+28
Slaves represent typical network interfaces available from userspace. Each ieee802154 device/transceiver may have several slaves and able to be associated with several networks at the same time. So this patch adds structure for slaves declaration. Signed-off-by: Alexander Smirnov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mac802154: declare reduced mlme operations[email protected]1-5/+20
According IEEE 802.15.4 standard each node can be either full functionality device (FFD) or reduce functionality device (RFD). So 2 sets of operations are needed. This patch declare RFD operations structure. Signed-off-by: Alexander Smirnov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mac802154: TX data path[email protected]3-1/+122
Main TX data path implementation between upper and physical layers. Signed-off-by: Alexander Smirnov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mac802154: RX data path[email protected]4-1/+119
Main RX data path implementation between physical and mac layers. Signed-off-by: Alexander Smirnov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mac802154: allocation of ieee802154 device[email protected]7-0/+239
An interface to allocate and register ieee802154 compatible device. The allocated device has the following representation in memory: +-----------------------+ | struct wpan_phy | +-----------------------+ | struct mac802154_priv | +-----------------------+ | driver's private data | +-----------------------+ Used by device drivers to register new instance in the stack. Signed-off-by: Alexander Smirnov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mac802154: basic ieee802.15.4 device structures[email protected]1-0/+126
The IEEE 802.15.4 Working Group focuses on the standardization of the bottom two layers of ISO/OSI protocol stack: Physical (PHY) and MAC. The MAC layer provides access control to a shared channel and reliable data delivery. The main functions performed by the MAC sublayer are: association and disassociation, security control, optional star network topology functions, such as beacon generation and Guaranteed Time Slots (GTSs) management, generation of ACK frames (if used), and, finally, application support for the two possible network topologies described in the standard. This is an initial commit which describes main data structures needed for ieee802.15.4 compatible devices representation in the MAC layer. Signed-off-by: Alexander Smirnov <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16Bluetooth: Report proper error number in disconnectionGustavo Padovan1-1/+1
If encryption change fails we should disconnect with auth failure error code. Signed-off-by: Gustavo Padovan <[email protected]> Signed-off-by: Johan Hedberg <[email protected]>
2012-05-16Bluetooth: Create flags for bt_sk()Gustavo Padovan5-24/+41
defer_setup and suspended are now flags into bt_sk(). Signed-off-by: Gustavo Padovan <[email protected]> Signed-off-by: Johan Hedberg <[email protected]>
2012-05-16Bluetooth: report the right security level in getsockoptGustavo Padovan1-1/+4
During a security level elevation we need to keep track of the current security level of a connection until the new one is not confirmed. Signed-off-by: Gustavo Padovan <[email protected]> Acked-by: Marcel Holtmann <[email protected]> Signed-off-by: Johan Hedberg <[email protected]>
2012-05-16Bluetooth: Lock the L2CAP channel when sendingMat Martineau2-8/+6
The ERTM and streaming mode transmit queue must only be accessed while the L2CAP channel lock is held. Locking the channel before calling l2cap_chan_send ensures that multiple threads cannot simultaneously manipulate the queue when sending and receiving concurrently. L2CAP channel locking had previously moved to the l2cap_chan struct instead of the associated socket, so some of the old socket locking can also be removed in this patch. Signed-off-by: Mat Martineau <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]>
2012-05-16Bluetooth: Restore locking semantics when looking up L2CAP channelsMat Martineau1-7/+3
As the comment for l2cap_get_chan_by_scid indicated, the function used to return a locked socket. The lock for the socket was acquired while the channel list was also locked. When locking was moved over to the l2cap_chan structure, the channel lock was no longer acquired with the channel list still locked. This made it possible for the l2cap_chan to be deleted after conn->chan_lock was released but before l2cap_chan_lock was called. Making the call to l2cap_chan_lock before releasing conn->chan_lock makes it impossible for the l2cap_chan to be deleted at the wrong time. Signed-off-by: Mat Martineau <[email protected]> Reviewed-by: Ulisses Furquim <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]>
2012-05-16Bluetooth: Fix a redundant and problematic incoming MTU checkMat Martineau1-20/+0
The L2CAP MTU for incoming data is verified differently depending on the L2CAP mode, so the check is best performed in a mode-specific context. Checking the incoming MTU before HCI fragment reassembly is a layer violation and assumes all bytes after the standard L2CAP header are L2CAP data. This approach causes issues with unsegmented ERTM or streaming mode frames, where there are additional enhanced or extended headers before the data payload and possible FCS bytes after the data payload. A valid frame could be as many as 10 bytes larger than the MTU. Removing this code is the best fix, because the MTU is checked later on for all L2CAP data frames (connectionless, basic, ERTM, and streaming). This also gets rid of outdated locking (socket instead of l2cap_chan) and an extra lookup of the channel ID. Signed-off-by: Mat Martineau <[email protected]> Reviewed-by: Ulisses Furquim <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]>
2012-05-16Bluetooth: Add support for Foxconn/Hon Hai AR5BBU22 0489:E03CMichael Gruetzner2-0/+9
Add Foxconn/Hon Hai AR5BBU22 Bluetooth Module( 0x489:0xE03C) to the blacklist of btusb module and add it to the ath3k module to properly load the firmware in Kernel 3.3.4 The device is integrated in e.g. some Acer Aspire 7750G. Output from /sys/kernel/debug/usb/devices: T: Bus=01 Lev=02 Prnt=02 Port=05 Cnt=02 Dev#= 6 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0489 ProdID=e03c Rev= 0.02 S: Manufacturer=Atheros Communications S: Product=Bluetooth USB Host Controller S: SerialNumber=Alaska Day 2006 C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms Signed-off-by: Michael Gruetzner <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]>
2012-05-16Bluetooth: Fix EIR data generation for mgmt_device_foundVishal Agarwal2-1/+20
The mgmt_device_found function expects to receive only the significant part of the EIR data so it needs to be removed before calling the function. This patch adds a new eir_get_length() helper function to calculate the length of the significant part. Signed-off-by: Vishal Agarwal <[email protected]> Signed-off-by: Johan Hedberg <[email protected]>
2012-05-16Bluetooth: Fix Inquiry with RSSI event maskJohan Hedberg1-1/+1
The right bit for "Inquiry with RSSI" is 0x02 and not 0x04 (which means "Read Remote Extended Features Complete"). Signed-off-by: Johan Hedberg <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]>
2012-05-16Bluetooth: improve readability of l2cap_seq_list codeGustavo Padovan1-15/+18
Removes one indentation level. Signed-off-by: Gustavo Padovan <[email protected]> Signed-off-by: Johan Hedberg <[email protected]>
2012-05-16Bluetooth: Fix skb length calculationGustavo Padovan1-0/+3
When we add a fragment to a skb, len and data_len fields need to be updated. Signed-off-by: Gustavo Padovan <[email protected]> Signed-off-by: Johan Hedberg <[email protected]>
2012-05-16Bluetooth: Fix packet size provided to the controllerGustavo Padovan1-2/+6
When building fragmented skb's skb->len keeps track of the size of head plus all fragments combined, however when queueing the skb for sending we need to report the head size instead of the total size, so we just set skb->len to skb_headlen(). This bug appeared when implementing MSG_MORE support for L2CAP sockets, it never showed up before because l2cap_skbuff_fromiovec() never accounted skb size correctly. A following patch will fix this. Signed-off-by: Gustavo Padovan <[email protected]> Reviewed-by: Mat Martineau <[email protected]> Signed-off-by: Johan Hedberg <[email protected]>
2012-05-16Bluetooth: Fix wrong set of skb fragmentsGustavo Padovan1-4/+8
If alloc() fails we let the frags linked list with garbage value (the err ptr value) in its last element. Reported-by: Mat Martineau <[email protected]> Signed-off-by: Gustavo Padovan <[email protected]> Signed-off-by: Johan Hedberg <[email protected]>
2012-05-16Merge git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetoothGustavo Padovan8-20/+45
2012-05-16ptp_pch: Add missing #include <linux/slab.h>Geert Uytterhoeven1-0/+1
drivers/ptp/ptp_pch.c: In function 'pch_remove': drivers/ptp/ptp_pch.c:576:2: error: implicit declaration of function 'kfree' [-Werror=implicit-function-declaration] drivers/ptp/ptp_pch.c: In function 'pch_probe': drivers/ptp/ptp_pch.c:587:2: error: implicit declaration of function 'kzalloc' [-Werror=implicit-function-declaration] Signed-off-by: Geert Uytterhoeven <[email protected]> Acked-by: Richard Cochran <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-05-16mac80211: Add debugfs entry for mesh ht_opmodeAshok Nagarajan1-0/+2
Signed-off-by: Ashok Nagarajan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-05-16mac80211: Modify mesh_set_ht_prot_mode() to have less identationAshok Nagarajan1-23/+24
Determining types of peers is modified to have less indentation. This change is suggested by Johannes. This patch also corrects the reference in comment to IEEE 802.11-2012 version. Signed-off-by: Ashok Nagarajan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2012-05-16mac80211: Fix don't use '>' operator for matching channel typesAshok Nagarajan1-2/+4
Johannes pointed out that the use of > operators for checking channel type mismatch maynot be correct way as we may add other channel types in future. Signed-off-by: Ashok Nagarajan <[email protected]> Signed-off-by: John W. Linville <[email protected]>