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

Commit 5cc0c038 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull char/misc driver fixes from Greg Kroah-Hartman:
 "Here are some small char/misc driver fixes for 3.10-rc2.

  Nothing major here, just a number of fixes for things that people have
  reported, and a MAINTAINERS update for the recent changes for the
  hyperv files that went into 3.10-rc1."

* tag 'char-misc-3.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
  ttyprintk: Fix NULL pointer deref by setting tty_port ops after initializing port
  uio: UIO_DMEM_GENIRQ should depend on HAS_DMA
  MAINTAINERS: update Hyper-V file list
  mei: bus: Reset event_cb when disabling a device
  Drivers: hv: Fix a bug in get_vp_index()
  mei: fix out of array access to me clients array
  Char: lp, protect LPGETSTATUS with port_mutex
  dummy-irq: require the user to specify an IRQ number
parents b6419406 b5325a02
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -3865,9 +3865,16 @@ M: K. Y. Srinivasan <kys@microsoft.com>
M:	Haiyang Zhang <haiyangz@microsoft.com>
L:	devel@linuxdriverproject.org
S:	Maintained
F:	drivers/hv/
F:	arch/x86/include/asm/mshyperv.h
F:	arch/x86/include/uapi/asm/hyperv.h
F:	arch/x86/kernel/cpu/mshyperv.c
F:	drivers/hid/hid-hyperv.c
F:	drivers/hv/
F:	drivers/net/hyperv/
F:	drivers/scsi/storvsc_drv.c
F:	drivers/video/hyperv_fb.c
F:	include/linux/hyperv.h
F:	tools/hv/

I2C OVER PARALLEL PORT
M:	Jean Delvare <khali@linux-fr.org>
+3 −0
Original line number Diff line number Diff line
@@ -622,9 +622,12 @@ static int lp_do_ioctl(unsigned int minor, unsigned int cmd,
				return -EFAULT;
			break;
		case LPGETSTATUS:
			if (mutex_lock_interruptible(&lp_table[minor].port_mutex))
				return -EINTR;
			lp_claim_parport_or_block (&lp_table[minor]);
			status = r_str(minor);
			lp_release_parport (&lp_table[minor]);
			mutex_unlock(&lp_table[minor].port_mutex);

			if (copy_to_user(argp, &status, sizeof(int)))
				return -EFAULT;
+1 −1
Original line number Diff line number Diff line
@@ -179,7 +179,6 @@ static int __init ttyprintk_init(void)
{
	int ret = -ENOMEM;

	tpk_port.port.ops = &null_ops;
	mutex_init(&tpk_port.port_write_mutex);

	ttyprintk_driver = tty_alloc_driver(1,
@@ -190,6 +189,7 @@ static int __init ttyprintk_init(void)
		return PTR_ERR(ttyprintk_driver);

	tty_port_init(&tpk_port.port);
	tpk_port.port.ops = &null_ops;

	ttyprintk_driver->driver_name = "ttyprintk";
	ttyprintk_driver->name = "ttyprintk";
+1 −1
Original line number Diff line number Diff line
@@ -329,7 +329,7 @@ static u32 get_vp_index(uuid_le *type_guid)
		return 0;
	}
	cur_cpu = (++next_vp % max_cpus);
	return cur_cpu;
	return hv_context.vp_index[cur_cpu];
}

/*
+5 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@
#include <linux/irq.h>
#include <linux/interrupt.h>

static int irq;
static int irq = -1;

static irqreturn_t dummy_interrupt(int irq, void *dev_id)
{
@@ -36,6 +36,10 @@ static irqreturn_t dummy_interrupt(int irq, void *dev_id)

static int __init dummy_irq_init(void)
{
	if (irq < 0) {
		printk(KERN_ERR "dummy-irq: no IRQ given.  Use irq=N\n");
		return -EIO;
	}
	if (request_irq(irq, &dummy_interrupt, IRQF_SHARED, "dummy_irq", &irq)) {
		printk(KERN_ERR "dummy-irq: cannot register IRQ %d\n", irq);
		return -EIO;
Loading