Skip to content

Commit b921726

Browse files
committed
Merge tag 'master-2014-11-04' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next
John W. Linville says: ==================== pull request: wireless-next 2014-11-07 Please pull this batch of updates intended for the 3.19 stream! For the mac80211 bits, Johannes says: "This relatively large batch of changes is comprised of the following: * large mac80211-hwsim changes from Ben, Jukka and a bit myself * OCB/WAVE/11p support from Rostislav on behalf of the Czech Technical University in Prague and Volkswagen Group Research * minstrel VHT work from Karl * more CSA work from Luca * WMM admission control support in mac80211 (myself) * various smaller fixes, spelling corrections, and minor API additions" For the Bluetooth bits, Johan says: "Here's the first bluetooth-next pull request for 3.19. The vast majority of patches are for ieee802154 from Alexander Aring with various fixes and cleanups. There are also several LE/SMP fixes as well as improved support for handling LE devices that have lost their pairing information (the patches from Alfonso). Jukka provides a couple of stability fixes for 6lowpan and Szymon conformance fixes for RFCOMM. For the HCI drivers we have one new USB ID for an Acer controller as well as a reset handling fix for H5." For the Atheros bits, Kalle says: "Major changes are: o ethtool support (Ben) o print dev string prefix with debug hex buffers dump (Michal) o debugfs file to read calibration data from the firmware verification purposes (me) o fix fw_stats debugfs file, now results are more reliable (Michal) o firmware crash counters via debugfs (Ben&me) o various tracing points to debug firmware (Rajkumar) o make it possible to provide firmware calibration data via a file (me) And we have quite a lot of smaller fixes and clean up." For the iwlwifi bits, Emmanuel says: "The big new thing here is netdetect which allows the firmware to wake up the platform when a specific network is detected. Along with that I have fixes for d3 operation. The usual amount of rate scaling stuff - we now support STBC. The other commit that stands out is Johannes's work on devcoredump. He basically starts to use the standard infrastructure he built." Along with that are the usual sort of updates and such for ath9k, brcmfmac, wil6210, and a handful of other bits here and there... Please let me know if there are problems! ==================== Signed-off-by: David S. Miller <[email protected]>
2 parents e344458 + bf515fb commit b921726

File tree

251 files changed

+9982
-5968
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

251 files changed

+9982
-5968
lines changed

MAINTAINERS

+15
Original file line numberDiff line numberDiff line change
@@ -2306,6 +2306,14 @@ F: security/capability.c
23062306
F: security/commoncap.c
23072307
F: kernel/capability.c
23082308

2309+
CC2520 IEEE-802.15.4 RADIO DRIVER
2310+
M: Varka Bhadram <[email protected]>
2311+
2312+
S: Maintained
2313+
F: drivers/net/ieee802154/cc2520.c
2314+
F: include/linux/spi/cc2520.h
2315+
F: Documentation/devicetree/bindings/net/ieee802154/cc2520.txt
2316+
23092317
CELL BROADBAND ENGINE ARCHITECTURE
23102318
M: Arnd Bergmann <[email protected]>
23112319
@@ -4693,6 +4701,13 @@ S: Maintained
46934701
F: net/ieee802154/
46944702
F: net/mac802154/
46954703
F: drivers/net/ieee802154/
4704+
F: include/linux/nl802154.h
4705+
F: include/linux/ieee802154.h
4706+
F: include/net/nl802154.h
4707+
F: include/net/mac802154.h
4708+
F: include/net/af_ieee802154.h
4709+
F: include/net/cfg802154.h
4710+
F: include/net/ieee802154_netdev.h
46964711
F: Documentation/networking/ieee802154.txt
46974712

46984713
IGUANAWORKS USB IR TRANSCEIVER

drivers/bcma/bcma_private.h

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ struct bcma_bus;
2424
/* main.c */
2525
bool bcma_wait_value(struct bcma_device *core, u16 reg, u32 mask, u32 value,
2626
int timeout);
27+
void bcma_prepare_core(struct bcma_bus *bus, struct bcma_device *core);
2728
int bcma_bus_register(struct bcma_bus *bus);
2829
void bcma_bus_unregister(struct bcma_bus *bus);
2930
int __init bcma_bus_early_register(struct bcma_bus *bus,

drivers/bcma/main.c

+6-3
Original file line numberDiff line numberDiff line change
@@ -169,10 +169,8 @@ static void bcma_of_fill_device(struct platform_device *parent,
169169
}
170170
#endif /* CONFIG_OF */
171171

172-
static void bcma_register_core(struct bcma_bus *bus, struct bcma_device *core)
172+
void bcma_prepare_core(struct bcma_bus *bus, struct bcma_device *core)
173173
{
174-
int err;
175-
176174
core->dev.release = bcma_release_core_dev;
177175
core->dev.bus = &bcma_bus_type;
178176
dev_set_name(&core->dev, "bcma%d:%d", bus->num, core->core_index);
@@ -196,6 +194,11 @@ static void bcma_register_core(struct bcma_bus *bus, struct bcma_device *core)
196194
case BCMA_HOSTTYPE_SDIO:
197195
break;
198196
}
197+
}
198+
199+
static void bcma_register_core(struct bcma_bus *bus, struct bcma_device *core)
200+
{
201+
int err;
199202

200203
err = device_register(&core->dev);
201204
if (err) {

drivers/bcma/scan.c

+1
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,7 @@ int bcma_bus_scan(struct bcma_bus *bus)
505505
bus->nr_cores++;
506506
other_core = bcma_find_core_reverse(bus, core->id.id);
507507
core->core_unit = (other_core == NULL) ? 0 : other_core->core_unit + 1;
508+
bcma_prepare_core(bus, core);
508509

509510
bcma_info(bus, "Core %d found: %s (manuf 0x%03X, id 0x%03X, rev 0x%02X, class 0x%X)\n",
510511
core->core_index, bcma_device_name(&core->id),

drivers/bluetooth/ath3k.c

+2
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ static const struct usb_device_id ath3k_table[] = {
7979
{ USB_DEVICE(0x0489, 0xe057) },
8080
{ USB_DEVICE(0x0489, 0xe056) },
8181
{ USB_DEVICE(0x0489, 0xe05f) },
82+
{ USB_DEVICE(0x0489, 0xe078) },
8283
{ USB_DEVICE(0x04c5, 0x1330) },
8384
{ USB_DEVICE(0x04CA, 0x3004) },
8485
{ USB_DEVICE(0x04CA, 0x3005) },
@@ -130,6 +131,7 @@ static const struct usb_device_id ath3k_blist_tbl[] = {
130131
{ USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 },
131132
{ USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 },
132133
{ USB_DEVICE(0x0489, 0xe05f), .driver_info = BTUSB_ATH3012 },
134+
{ USB_DEVICE(0x0489, 0xe078), .driver_info = BTUSB_ATH3012 },
133135
{ USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 },
134136
{ USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 },
135137
{ USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },

drivers/bluetooth/btusb.c

+1
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ static const struct usb_device_id blacklist_table[] = {
156156
{ USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 },
157157
{ USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 },
158158
{ USB_DEVICE(0x0489, 0xe05f), .driver_info = BTUSB_ATH3012 },
159+
{ USB_DEVICE(0x0489, 0xe078), .driver_info = BTUSB_ATH3012 },
159160
{ USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 },
160161
{ USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 },
161162
{ USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },

drivers/bluetooth/hci_h5.c

+34
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,36 @@ static void h5_timed_event(unsigned long arg)
168168
hci_uart_tx_wakeup(hu);
169169
}
170170

171+
static void h5_peer_reset(struct hci_uart *hu)
172+
{
173+
struct h5 *h5 = hu->priv;
174+
struct sk_buff *skb;
175+
const unsigned char hard_err[] = { 0x10, 0x01, 0x00 };
176+
177+
BT_ERR("Peer device has reset");
178+
179+
h5->state = H5_UNINITIALIZED;
180+
181+
del_timer(&h5->timer);
182+
183+
skb_queue_purge(&h5->rel);
184+
skb_queue_purge(&h5->unrel);
185+
skb_queue_purge(&h5->unack);
186+
187+
h5->tx_seq = 0;
188+
h5->tx_ack = 0;
189+
190+
skb = bt_skb_alloc(3, GFP_ATOMIC);
191+
if (!skb)
192+
return;
193+
194+
bt_cb(skb)->pkt_type = HCI_EVENT_PKT;
195+
memcpy(skb_put(skb, 3), hard_err, 3);
196+
197+
/* Send Hardware Error to upper stack */
198+
hci_recv_frame(hu->hdev, skb);
199+
}
200+
171201
static int h5_open(struct hci_uart *hu)
172202
{
173203
struct h5 *h5;
@@ -283,8 +313,12 @@ static void h5_handle_internal_rx(struct hci_uart *hu)
283313
conf_req[2] = h5_cfg_field(h5);
284314

285315
if (memcmp(data, sync_req, 2) == 0) {
316+
if (h5->state == H5_ACTIVE)
317+
h5_peer_reset(hu);
286318
h5_link_control(hu, sync_rsp, 2);
287319
} else if (memcmp(data, sync_rsp, 2) == 0) {
320+
if (h5->state == H5_ACTIVE)
321+
h5_peer_reset(hu);
288322
h5->state = H5_INITIALIZED;
289323
h5_link_control(hu, conf_req, 3);
290324
} else if (memcmp(data, conf_req, 2) == 0) {

drivers/net/ieee802154/Kconfig

-10
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,6 @@ menuconfig IEEE802154_DRIVERS
1010
If you say N, all options in this submenu will be skipped and
1111
disabled.
1212

13-
config IEEE802154_FAKEHARD
14-
tristate "Fake LR-WPAN driver with several interconnected devices"
15-
depends on IEEE802154_DRIVERS
16-
---help---
17-
Say Y here to enable the fake driver that serves as an example
18-
of HardMAC device driver.
19-
20-
This driver can also be built as a module. To do so say M here.
21-
The module will be called 'fakehard'.
22-
2313
config IEEE802154_FAKELB
2414
depends on IEEE802154_DRIVERS && MAC802154
2515
tristate "IEEE 802.15.4 loopback driver"

drivers/net/ieee802154/Makefile

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
obj-$(CONFIG_IEEE802154_FAKEHARD) += fakehard.o
21
obj-$(CONFIG_IEEE802154_FAKELB) += fakelb.o
32
obj-$(CONFIG_IEEE802154_AT86RF230) += at86rf230.o
43
obj-$(CONFIG_IEEE802154_MRF24J40) += mrf24j40.o

0 commit comments

Comments
 (0)