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

Commit 4a390e07 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
  Staging: stlc45xx: convert config_interface to bss_info_changed, fixing a build error
  Staging: comedi: s626: use subvendor:subdevice ids for SAA7146 board
  Staging: prevent rtl8192su from crashing dev_ioctl in SIOCGIWNAME
  Staging: prevent rtl8187se from crashing dev_ioctl() in SIOCGIWNAME
  Staging: rtl8192su: convert to net_device_ops
  Staging: serqt_usb2: declare qt_open static in serqt_usb2
  Staging: serqt_usb2: fix qt_close parameters in serqt_usb2
  Staging: comedi: jr3_pci.c: add required includes
  Staging: meilhaus: add email address to TODO
  Staging: rspiusb: use NULL virtual address instead of a bogus one
  Staging: vt6655: compile fix
  Staging: rt2870: Add USB ID for Sitecom WL-608
parents a4dc3237 f6387184
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -45,6 +45,8 @@ Devices: [JR3] PCI force sensor board (jr3_pci)
#include <linux/delay.h>
#include <linux/ctype.h>
#include <linux/firmware.h>
#include <linux/jiffies.h>
#include <linux/timer.h>
#include "comedi_pci.h"
#include "jr3_pci.h"

+20 −15
Original line number Diff line number Diff line
@@ -111,9 +111,13 @@ static const struct s626_board s626_boards[] = {
#define PCI_VENDOR_ID_S626 0x1131
#define PCI_DEVICE_ID_S626 0x7146

/*
 * For devices with vendor:device id == 0x1131:0x7146 you must specify
 * also subvendor:subdevice ids, because otherwise it will conflict with
 * Philips SAA7146 media/dvb based cards.
 */
static DEFINE_PCI_DEVICE_TABLE(s626_pci_table) = {
	{PCI_VENDOR_ID_S626, PCI_DEVICE_ID_S626, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
		0},
	{PCI_VENDOR_ID_S626, PCI_DEVICE_ID_S626, 0x6000, 0x0272, 0, 0, 0},
	{0}
};

@@ -499,25 +503,26 @@ static int s626_attach(struct comedi_device *dev, struct comedi_devconfig *it)
	resource_size_t resourceStart;
	dma_addr_t appdma;
	struct comedi_subdevice *s;
	struct pci_dev *pdev;
	const struct pci_device_id *ids;
	struct pci_dev *pdev = NULL;

	if (alloc_private(dev, sizeof(struct s626_private)) < 0)
		return -ENOMEM;

	for (pdev = pci_get_device(PCI_VENDOR_ID_S626, PCI_DEVICE_ID_S626,
			NULL); pdev != NULL;
		pdev = pci_get_device(PCI_VENDOR_ID_S626,
			PCI_DEVICE_ID_S626, pdev)) {
		if (it->options[0] || it->options[1]) {
			if (pdev->bus->number == it->options[0] &&
				PCI_SLOT(pdev->devfn) == it->options[1]) {
	for (i = 0; i < (ARRAY_SIZE(s626_pci_table) - 1) && !pdev; i++) {
		ids = &s626_pci_table[i];
		do {
			pdev = pci_get_subsys(ids->vendor, ids->device, ids->subvendor,
					      ids->subdevice, pdev);

			if ((it->options[0] || it->options[1]) && pdev) {
				/* matches requested bus/slot */
				if (pdev->bus->number == it->options[0] &&
				    PCI_SLOT(pdev->devfn) == it->options[1])
					break;
			}
		} else {
			/* no bus/slot specified */
			} else
				break;
		}
		} while (1);
	}
	devpriv->pdev = pdev;

+1 −1
Original line number Diff line number Diff line
@@ -7,4 +7,4 @@ TODO:
	- possible comedi merge

Please send cleanup patches to Greg Kroah-Hartman <greg@kroah.com>
and CC: David Kiliani <mail@davidkiliani.de>
and CC: David Kiliani <mail@davidkiliani.de> and Meilhaus Support <support@meilhaus.de>
+4 −10
Original line number Diff line number Diff line
@@ -444,8 +444,7 @@ static void piusb_write_bulk_callback(struct urb *urb)
			__func__, status);

	pdx->pendingWrite = 0;
	usb_buffer_free(urb->dev, urb->transfer_buffer_length,
			urb->transfer_buffer, urb->transfer_dma);
	kfree(urb->transfer_buffer);
}

int piusb_output(struct ioctl_struct *io, unsigned char *uBuf, int len,
@@ -457,9 +456,7 @@ int piusb_output(struct ioctl_struct *io, unsigned char *uBuf, int len,

	urb = usb_alloc_urb(0, GFP_KERNEL);
	if (urb != NULL) {
		kbuf =
		    usb_buffer_alloc(pdx->udev, len, GFP_KERNEL,
				     &urb->transfer_dma);
		kbuf = kmalloc(len, GFP_KERNEL);
		if (!kbuf) {
			dev_err(&pdx->udev->dev, "buffer_alloc failed\n");
			return -ENOMEM;
@@ -470,7 +467,6 @@ int piusb_output(struct ioctl_struct *io, unsigned char *uBuf, int len,
		}
		usb_fill_bulk_urb(urb, pdx->udev, pdx->hEP[io->endpoint], kbuf,
				  len, piusb_write_bulk_callback, pdx);
		urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
		err = usb_submit_urb(urb, GFP_KERNEL);
		if (err) {
			dev_err(&pdx->udev->dev,
@@ -641,7 +637,7 @@ static int MapUserBuffer(struct ioctl_struct *io, struct device_extension *pdx)
	numPagesRequired =
	    ((uaddr & ~PAGE_MASK) + count + ~PAGE_MASK) >> PAGE_SHIFT;
	dbg("Number of pages needed = %d", numPagesRequired);
	maplist_p = vmalloc(numPagesRequired * sizeof(struct page));
	maplist_p = vmalloc(numPagesRequired * sizeof(struct page *));
	if (!maplist_p) {
		dbg("Can't Allocate Memory for maplist_p");
		return -ENOMEM;
@@ -712,9 +708,7 @@ static int MapUserBuffer(struct ioctl_struct *io, struct device_extension *pdx)
		usb_fill_bulk_urb(pdx->PixelUrb[frameInfo][i],
				  pdx->udev,
				  epAddr,
				  (dma_addr_t *) sg_dma_address(&pdx->
								sgl[frameInfo]
								[i]),
				  NULL, // non-DMA HC? buy a better hardware
				  sg_dma_len(&pdx->sgl[frameInfo][i]),
				  piusb_readPIXEL_callback, (void *)pdx);
		pdx->PixelUrb[frameInfo][i]->transfer_dma =
+1 −0
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@
	{USB_DEVICE(0x0DF6,0x002C)}, /* Sitecom */		\
	{USB_DEVICE(0x0DF6,0x002D)}, /* Sitecom */		\
	{USB_DEVICE(0x0DF6,0x0039)}, /* Sitecom */		\
	{USB_DEVICE(0x0DF6,0x003F)}, /* Sitecom WL-608 */	\
	{USB_DEVICE(0x14B2,0x3C06)}, /* Conceptronic */		\
	{USB_DEVICE(0x14B2,0x3C28)}, /* Conceptronic */		\
	{USB_DEVICE(0x2019,0xED06)}, /* Planex Communications, Inc. */		\
Loading