Skip to content

Commit

Permalink
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Browse files Browse the repository at this point in the history
* 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
  ...
  • Loading branch information
torvalds committed Nov 7, 2011
2 parents 50e6963 + e45a618 commit 94956ee
Show file tree
Hide file tree
Showing 43 changed files with 325 additions and 267 deletions.
3 changes: 2 additions & 1 deletion MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1032,6 +1032,7 @@ F: arch/arm/include/asm/hardware/ioc.h
F: arch/arm/include/asm/hardware/iomd.h
F: arch/arm/include/asm/hardware/memc.h
F: arch/arm/mach-rpc/
F: drivers/net/ethernet/8390/etherh.c
F: drivers/net/ethernet/i825xx/ether1*
F: drivers/net/ethernet/seeq/ether3*
F: drivers/scsi/arm/
Expand Down Expand Up @@ -5470,7 +5471,7 @@ S: Maintained
F: drivers/net/ethernet/rdc/r6040.c

RDS - RELIABLE DATAGRAM SOCKETS
M: Andy Grover <andy.grover@oracle.com>
M: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
L: [email protected] (moderated for non-subscribers)
S: Supported
F: net/rds/
Expand Down
4 changes: 2 additions & 2 deletions drivers/bluetooth/ath3k.c
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ static int ath3k_load_firmware(struct usb_device *udev,

pipe = usb_sndctrlpipe(udev, 0);

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

count = firmware->size;

send_buf = kmalloc(BULK_SIZE, GFP_ATOMIC);
send_buf = kmalloc(BULK_SIZE, GFP_KERNEL);
if (!send_buf) {
BT_ERR("Can't allocate memory chunk for firmware");
return -ENOMEM;
Expand Down
12 changes: 11 additions & 1 deletion drivers/bluetooth/bcm203x.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

#include <linux/module.h>

#include <linux/atomic.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/slab.h>
Expand Down Expand Up @@ -65,6 +66,7 @@ struct bcm203x_data {
unsigned long state;

struct work_struct work;
atomic_t shutdown;

struct urb *urb;
unsigned char *buffer;
Expand Down Expand Up @@ -97,6 +99,7 @@ static void bcm203x_complete(struct urb *urb)

data->state = BCM203X_SELECT_MEMORY;

/* use workqueue to have a small delay */
schedule_work(&data->work);
break;

Expand Down Expand Up @@ -155,7 +158,10 @@ static void bcm203x_work(struct work_struct *work)
struct bcm203x_data *data =
container_of(work, struct bcm203x_data, work);

if (usb_submit_urb(data->urb, GFP_ATOMIC) < 0)
if (atomic_read(&data->shutdown))
return;

if (usb_submit_urb(data->urb, GFP_KERNEL) < 0)
BT_ERR("Can't submit URB");
}

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

usb_set_intfdata(intf, data);

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

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

BT_DBG("intf %p", intf);

atomic_inc(&data->shutdown);
cancel_work_sync(&data->work);

usb_kill_urb(data->urb);

usb_set_intfdata(intf, NULL);
Expand Down
13 changes: 7 additions & 6 deletions drivers/bluetooth/bfusb.c
Original file line number Diff line number Diff line change
Expand Up @@ -568,22 +568,23 @@ static int bfusb_load_firmware(struct bfusb_data *data,

BT_INFO("BlueFRITZ! USB loading firmware");

buf = kmalloc(BFUSB_MAX_BLOCK_SIZE + 3, GFP_KERNEL);
if (!buf) {
BT_ERR("Can't allocate memory chunk for firmware");
return -ENOMEM;
}

pipe = usb_sndctrlpipe(data->udev, 0);

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

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

buf = kmalloc(BFUSB_MAX_BLOCK_SIZE + 3, GFP_ATOMIC);
if (!buf) {
BT_ERR("Can't allocate memory chunk for firmware");
return -ENOMEM;
}

pipe = usb_sndbulkpipe(data->udev, data->bulk_out_ep);

while (count) {
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/bonding/bond_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -560,8 +560,8 @@ static int bond_update_speed_duplex(struct slave *slave)
u32 slave_speed;
int res;

slave->speed = -1;
slave->duplex = -1;
slave->speed = SPEED_UNKNOWN;
slave->duplex = DUPLEX_UNKNOWN;

res = __ethtool_get_settings(slave_dev, &ecmd);
if (res < 0)
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/bonding/bond_procfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -158,12 +158,12 @@ static void bond_info_show_slave(struct seq_file *seq,
seq_printf(seq, "\nSlave Interface: %s\n", slave->dev->name);
seq_printf(seq, "MII Status: %s\n",
(slave->link == BOND_LINK_UP) ? "up" : "down");
if (slave->speed == -1)
if (slave->speed == SPEED_UNKNOWN)
seq_printf(seq, "Speed: %s\n", "Unknown");
else
seq_printf(seq, "Speed: %d Mbps\n", slave->speed);

if (slave->duplex == -1)
if (slave->duplex == DUPLEX_UNKNOWN)
seq_printf(seq, "Duplex: %s\n", "Unknown");
else
seq_printf(seq, "Duplex: %s\n", slave->duplex ? "full" : "half");
Expand Down
Loading

0 comments on commit 94956ee

Please sign in to comment.