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

Commit 980019d7 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
  Staging: rtl8192u_usb: Add LG device ID 043e:7a01
  Staging: rtl8192s_usb: Remove duplicate device ID
  Staging: rt2870: add device id for Zyxel NWD-270N
  Staging: comedi: fix read past end of array in cb_pcidda_attach()
  Staging: rtl8192su: add device ids
  Staging: rtl8192su: remove device ids
  Staging: rtl8187se: Fix compile warnings in 2.6.35-rc2
  Staging: wlags49_h2: Fix build error when CONFIG_SYSFS is not set
  Staging: wlags49_h2: add missing <linux/string.h> for strlen
  Staging: hv: fix hv_utils module to properly autoload
  staging: hv: Fix race condition on vmbus channel initialization
  Staging: comedi: drivers: adl_pci9111: Fix AI commands in TRIG_FOLLOW case
  Staging: mrst-touchscreen: fix dereferencing free memory
  Staging: batman-adv: fix function prototype
  Staging: batman-adv: return -EFAULT on copy_to_user errors
  staging: usbip: usbip_common: kill rx thread on tx thread creation error.
parents 9f2952db e10ac155
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -225,7 +225,7 @@ static struct bat_attribute *mesh_attrs[] = {
	NULL,
};

static ssize_t transtable_local_read(struct kobject *kobj,
static ssize_t transtable_local_read(struct file *filp, struct kobject *kobj,
				  struct bin_attribute *bin_attr,
				  char *buff, loff_t off, size_t count)
{
@@ -235,7 +235,7 @@ static ssize_t transtable_local_read(struct kobject *kobj,
	return hna_local_fill_buffer_text(net_dev, buff, count, off);
}

static ssize_t transtable_global_read(struct kobject *kobj,
static ssize_t transtable_global_read(struct file *filp, struct kobject *kobj,
				  struct bin_attribute *bin_attr,
				  char *buff, loff_t off, size_t count)
{
@@ -245,7 +245,7 @@ static ssize_t transtable_global_read(struct kobject *kobj,
	return hna_global_fill_buffer_text(net_dev, buff, count, off);
}

static ssize_t originators_read(struct kobject *kobj,
static ssize_t originators_read(struct file *filp, struct kobject *kobj,
				  struct bin_attribute *bin_attr,
				  char *buff, loff_t off, size_t count)
{
@@ -255,7 +255,7 @@ static ssize_t originators_read(struct kobject *kobj,
	return orig_fill_buffer_text(net_dev, buff, count, off);
}

static ssize_t vis_data_read(struct kobject *kobj,
static ssize_t vis_data_read(struct file *filp, struct kobject *kobj,
				  struct bin_attribute *bin_attr,
				  char *buff, loff_t off, size_t count)
{
+1 −1
Original line number Diff line number Diff line
@@ -196,7 +196,7 @@ ssize_t bat_device_read(struct file *file, char __user *buf, size_t count,
	kfree(device_packet);

	if (error)
		return error;
		return -EFAULT;

	return sizeof(struct icmp_packet);
}
+6 −3
Original line number Diff line number Diff line
@@ -824,9 +824,12 @@ static int pci9111_ai_do_cmd(struct comedi_device *dev,
		plx9050_interrupt_control(dev_private->lcr_io_base, true, true,
					  false, true, true);

		if (async_cmd->scan_begin_src == TRIG_TIMER) {
			dev_private->scan_delay =
		    (async_cmd->scan_begin_arg / (async_cmd->convert_arg *
				(async_cmd->scan_begin_arg /
				 (async_cmd->convert_arg *
				  async_cmd->chanlist_len)) - 1;
		}

		break;

+1 −2
Original line number Diff line number Diff line
@@ -52,7 +52,6 @@ Please report success/failure with other different cards to
#include "8255.h"

#define PCI_VENDOR_ID_CB	0x1307	/*  PCI vendor number of ComputerBoards */
#define N_BOARDS	10	/*  Number of boards in cb_pcidda_boards */
#define EEPROM_SIZE	128	/*  number of entries in eeprom */
#define MAX_AO_CHANNELS 8	/*  maximum number of ao channels for supported boards */

@@ -307,7 +306,7 @@ static int cb_pcidda_attach(struct comedi_device *dev,
					continue;
				}
			}
			for (index = 0; index < N_BOARDS; index++) {
			for (index = 0; index < ARRAY_SIZE(cb_pcidda_boards); index++) {
				if (cb_pcidda_boards[index].device_id ==
				    pcidev->device) {
					goto found;
+30 −11
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@
#include <linux/slab.h>
#include <linux/list.h>
#include <linux/module.h>
#include <linux/completion.h>
#include "osd.h"
#include "logging.h"
#include "vmbus_private.h"
@@ -293,6 +294,25 @@ void FreeVmbusChannel(struct vmbus_channel *Channel)
			      Channel);
}


DECLARE_COMPLETION(hv_channel_ready);

/*
 * Count initialized channels, and ensure all channels are ready when hv_vmbus
 * module loading completes.
 */
static void count_hv_channel(void)
{
	static int counter;
	unsigned long flags;

	spin_lock_irqsave(&gVmbusConnection.channel_lock, flags);
	if (++counter == MAX_MSG_TYPES)
		complete(&hv_channel_ready);
	spin_unlock_irqrestore(&gVmbusConnection.channel_lock, flags);
}


/*
 * VmbusChannelProcessOffer - Process the offer by creating a channel/device
 * associated with this offer
@@ -373,22 +393,21 @@ static void VmbusChannelProcessOffer(void *context)
		 * can cleanup properly
		 */
		newChannel->State = CHANNEL_OPEN_STATE;
		cnt = 0;

		while (cnt != MAX_MSG_TYPES) {
		/* Open IC channels */
		for (cnt = 0; cnt < MAX_MSG_TYPES; cnt++) {
			if (memcmp(&newChannel->OfferMsg.Offer.InterfaceType,
				   &hv_cb_utils[cnt].data,
				   sizeof(struct hv_guid)) == 0) {
				DPRINT_INFO(VMBUS, "%s",
					    hv_cb_utils[cnt].log_msg);

				if (VmbusChannelOpen(newChannel, 2 * PAGE_SIZE,
				   sizeof(struct hv_guid)) == 0 &&
				VmbusChannelOpen(newChannel, 2 * PAGE_SIZE,
						 2 * PAGE_SIZE, NULL, 0,
						 hv_cb_utils[cnt].callback,
						    newChannel) == 0)
						 newChannel) == 0) {
				hv_cb_utils[cnt].channel = newChannel;
				DPRINT_INFO(VMBUS, "%s",
						hv_cb_utils[cnt].log_msg);
				count_hv_channel();
			}
			cnt++;
		}
	}
	DPRINT_EXIT(VMBUS);
Loading