Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94956eed authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 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
  ...
parents 50e69630 e45a6187
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -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/iomd.h
F:	arch/arm/include/asm/hardware/memc.h
F:	arch/arm/include/asm/hardware/memc.h
F:	arch/arm/mach-rpc/
F:	arch/arm/mach-rpc/
F:	drivers/net/ethernet/8390/etherh.c
F:	drivers/net/ethernet/i825xx/ether1*
F:	drivers/net/ethernet/i825xx/ether1*
F:	drivers/net/ethernet/seeq/ether3*
F:	drivers/net/ethernet/seeq/ether3*
F:	drivers/scsi/arm/
F:	drivers/scsi/arm/
@@ -5470,7 +5471,7 @@ S: Maintained
F:	drivers/net/ethernet/rdc/r6040.c
F:	drivers/net/ethernet/rdc/r6040.c


RDS - RELIABLE DATAGRAM SOCKETS
RDS - RELIABLE DATAGRAM SOCKETS
M:	Andy Grover <andy.grover@oracle.com>
M:	Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
L:	rds-devel@oss.oracle.com (moderated for non-subscribers)
L:	rds-devel@oss.oracle.com (moderated for non-subscribers)
S:	Supported
S:	Supported
F:	net/rds/
F:	net/rds/
+2 −2
Original line number Original line Diff line number Diff line
@@ -105,7 +105,7 @@ static int ath3k_load_firmware(struct usb_device *udev,


	pipe = usb_sndctrlpipe(udev, 0);
	pipe = usb_sndctrlpipe(udev, 0);


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


	count = firmware->size;
	count = firmware->size;


	send_buf = kmalloc(BULK_SIZE, GFP_ATOMIC);
	send_buf = kmalloc(BULK_SIZE, GFP_KERNEL);
	if (!send_buf) {
	if (!send_buf) {
		BT_ERR("Can't allocate memory chunk for firmware");
		BT_ERR("Can't allocate memory chunk for firmware");
		return -ENOMEM;
		return -ENOMEM;
+11 −1
Original line number Original line Diff line number Diff line
@@ -24,6 +24,7 @@


#include <linux/module.h>
#include <linux/module.h>


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


	struct work_struct	work;
	struct work_struct	work;
	atomic_t		shutdown;


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


		data->state = BCM203X_SELECT_MEMORY;
		data->state = BCM203X_SELECT_MEMORY;


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


@@ -155,7 +158,10 @@ static void bcm203x_work(struct work_struct *work)
	struct bcm203x_data *data =
	struct bcm203x_data *data =
		container_of(work, struct bcm203x_data, work);
		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");
		BT_ERR("Can't submit URB");
}
}


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


	usb_set_intfdata(intf, data);
	usb_set_intfdata(intf, data);


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


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


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


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

	usb_kill_urb(data->urb);
	usb_kill_urb(data->urb);


	usb_set_intfdata(intf, NULL);
	usb_set_intfdata(intf, NULL);
+7 −6
Original line number Original line Diff line number Diff line
@@ -568,22 +568,23 @@ static int bfusb_load_firmware(struct bfusb_data *data,


	BT_INFO("BlueFRITZ! USB loading firmware");
	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);
	pipe = usb_sndctrlpipe(data->udev, 0);


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


	data->udev->toggle[0] = data->udev->toggle[1] = 0;
	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);
	pipe = usb_sndbulkpipe(data->udev, data->bulk_out_ep);


	while (count) {
	while (count) {
+2 −2
Original line number Original line Diff line number Diff line
@@ -560,8 +560,8 @@ static int bond_update_speed_duplex(struct slave *slave)
	u32 slave_speed;
	u32 slave_speed;
	int res;
	int res;


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


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