Skip to content

Commit 94956ee

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits) forcedeth: fix a few sparse warnings (variable shadowing) forcedeth: Improve stats counters forcedeth: remove unneeded stats updates forcedeth: Acknowledge only interrupts that are being processed forcedeth: fix race when unloading module MAINTAINERS/rds: update maintainer wanrouter: Remove kernel_lock annotations usbnet: fix oops in usbnet_start_xmit ixgbe: Fix compile for kernel without CONFIG_PCI_IOV defined etherh: Add MAINTAINERS entry for etherh bonding: comparing a u8 with -1 is always false sky2: fix regression on Yukon Optima netlink: clarify attribute length check documentation netlink: validate NLA_MSECS length i825xx:xscale:8390:freescale: Fix Kconfig dependancies macvlan: receive multicast with local address tg3: Update version to 3.121 tg3: Eliminate timer race with reset_task tg3: Schedule at most one tg3_reset_task run tg3: Obtain PCI function number from device ...
2 parents 50e6963 + e45a618 commit 94956ee

File tree

43 files changed

+325
-267
lines changed

Some content is hidden

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

43 files changed

+325
-267
lines changed

MAINTAINERS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1032,6 +1032,7 @@ F: arch/arm/include/asm/hardware/ioc.h
10321032
F: arch/arm/include/asm/hardware/iomd.h
10331033
F: arch/arm/include/asm/hardware/memc.h
10341034
F: arch/arm/mach-rpc/
1035+
F: drivers/net/ethernet/8390/etherh.c
10351036
F: drivers/net/ethernet/i825xx/ether1*
10361037
F: drivers/net/ethernet/seeq/ether3*
10371038
F: drivers/scsi/arm/
@@ -5470,7 +5471,7 @@ S: Maintained
54705471
F: drivers/net/ethernet/rdc/r6040.c
54715472

54725473
RDS - RELIABLE DATAGRAM SOCKETS
5473-
M: Andy Grover <andy.grover@oracle.com>
5474+
M: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
54745475
L: [email protected] (moderated for non-subscribers)
54755476
S: Supported
54765477
F: net/rds/

drivers/bluetooth/ath3k.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ static int ath3k_load_firmware(struct usb_device *udev,
105105

106106
pipe = usb_sndctrlpipe(udev, 0);
107107

108-
send_buf = kmalloc(BULK_SIZE, GFP_ATOMIC);
108+
send_buf = kmalloc(BULK_SIZE, GFP_KERNEL);
109109
if (!send_buf) {
110110
BT_ERR("Can't allocate memory chunk for firmware");
111111
return -ENOMEM;
@@ -176,7 +176,7 @@ static int ath3k_load_fwfile(struct usb_device *udev,
176176

177177
count = firmware->size;
178178

179-
send_buf = kmalloc(BULK_SIZE, GFP_ATOMIC);
179+
send_buf = kmalloc(BULK_SIZE, GFP_KERNEL);
180180
if (!send_buf) {
181181
BT_ERR("Can't allocate memory chunk for firmware");
182182
return -ENOMEM;

drivers/bluetooth/bcm203x.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
#include <linux/module.h>
2626

27+
#include <linux/atomic.h>
2728
#include <linux/kernel.h>
2829
#include <linux/init.h>
2930
#include <linux/slab.h>
@@ -65,6 +66,7 @@ struct bcm203x_data {
6566
unsigned long state;
6667

6768
struct work_struct work;
69+
atomic_t shutdown;
6870

6971
struct urb *urb;
7072
unsigned char *buffer;
@@ -97,6 +99,7 @@ static void bcm203x_complete(struct urb *urb)
9799

98100
data->state = BCM203X_SELECT_MEMORY;
99101

102+
/* use workqueue to have a small delay */
100103
schedule_work(&data->work);
101104
break;
102105

@@ -155,7 +158,10 @@ static void bcm203x_work(struct work_struct *work)
155158
struct bcm203x_data *data =
156159
container_of(work, struct bcm203x_data, work);
157160

158-
if (usb_submit_urb(data->urb, GFP_ATOMIC) < 0)
161+
if (atomic_read(&data->shutdown))
162+
return;
163+
164+
if (usb_submit_urb(data->urb, GFP_KERNEL) < 0)
159165
BT_ERR("Can't submit URB");
160166
}
161167

@@ -243,6 +249,7 @@ static int bcm203x_probe(struct usb_interface *intf, const struct usb_device_id
243249

244250
usb_set_intfdata(intf, data);
245251

252+
/* use workqueue to have a small delay */
246253
schedule_work(&data->work);
247254

248255
return 0;
@@ -254,6 +261,9 @@ static void bcm203x_disconnect(struct usb_interface *intf)
254261

255262
BT_DBG("intf %p", intf);
256263

264+
atomic_inc(&data->shutdown);
265+
cancel_work_sync(&data->work);
266+
257267
usb_kill_urb(data->urb);
258268

259269
usb_set_intfdata(intf, NULL);

drivers/bluetooth/bfusb.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -568,22 +568,23 @@ static int bfusb_load_firmware(struct bfusb_data *data,
568568

569569
BT_INFO("BlueFRITZ! USB loading firmware");
570570

571+
buf = kmalloc(BFUSB_MAX_BLOCK_SIZE + 3, GFP_KERNEL);
572+
if (!buf) {
573+
BT_ERR("Can't allocate memory chunk for firmware");
574+
return -ENOMEM;
575+
}
576+
571577
pipe = usb_sndctrlpipe(data->udev, 0);
572578

573579
if (usb_control_msg(data->udev, pipe, USB_REQ_SET_CONFIGURATION,
574580
0, 1, 0, NULL, 0, USB_CTRL_SET_TIMEOUT) < 0) {
575581
BT_ERR("Can't change to loading configuration");
582+
kfree(buf);
576583
return -EBUSY;
577584
}
578585

579586
data->udev->toggle[0] = data->udev->toggle[1] = 0;
580587

581-
buf = kmalloc(BFUSB_MAX_BLOCK_SIZE + 3, GFP_ATOMIC);
582-
if (!buf) {
583-
BT_ERR("Can't allocate memory chunk for firmware");
584-
return -ENOMEM;
585-
}
586-
587588
pipe = usb_sndbulkpipe(data->udev, data->bulk_out_ep);
588589

589590
while (count) {

drivers/net/bonding/bond_main.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -560,8 +560,8 @@ static int bond_update_speed_duplex(struct slave *slave)
560560
u32 slave_speed;
561561
int res;
562562

563-
slave->speed = -1;
564-
slave->duplex = -1;
563+
slave->speed = SPEED_UNKNOWN;
564+
slave->duplex = DUPLEX_UNKNOWN;
565565

566566
res = __ethtool_get_settings(slave_dev, &ecmd);
567567
if (res < 0)

drivers/net/bonding/bond_procfs.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,12 +158,12 @@ static void bond_info_show_slave(struct seq_file *seq,
158158
seq_printf(seq, "\nSlave Interface: %s\n", slave->dev->name);
159159
seq_printf(seq, "MII Status: %s\n",
160160
(slave->link == BOND_LINK_UP) ? "up" : "down");
161-
if (slave->speed == -1)
161+
if (slave->speed == SPEED_UNKNOWN)
162162
seq_printf(seq, "Speed: %s\n", "Unknown");
163163
else
164164
seq_printf(seq, "Speed: %d Mbps\n", slave->speed);
165165

166-
if (slave->duplex == -1)
166+
if (slave->duplex == DUPLEX_UNKNOWN)
167167
seq_printf(seq, "Duplex: %s\n", "Unknown");
168168
else
169169
seq_printf(seq, "Duplex: %s\n", slave->duplex ? "full" : "half");

0 commit comments

Comments
 (0)