Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6

* 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

+80 -79
+2
drivers/staging/comedi/drivers/jr3_pci.c
··· 45 45 #include <linux/delay.h> 46 46 #include <linux/ctype.h> 47 47 #include <linux/firmware.h> 48 + #include <linux/jiffies.h> 49 + #include <linux/timer.h> 48 50 #include "comedi_pci.h" 49 51 #include "jr3_pci.h" 50 52
+20 -15
drivers/staging/comedi/drivers/s626.c
··· 111 111 #define PCI_VENDOR_ID_S626 0x1131 112 112 #define PCI_DEVICE_ID_S626 0x7146 113 113 114 + /* 115 + * For devices with vendor:device id == 0x1131:0x7146 you must specify 116 + * also subvendor:subdevice ids, because otherwise it will conflict with 117 + * Philips SAA7146 media/dvb based cards. 118 + */ 114 119 static DEFINE_PCI_DEVICE_TABLE(s626_pci_table) = { 115 - {PCI_VENDOR_ID_S626, PCI_DEVICE_ID_S626, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 116 - 0}, 120 + {PCI_VENDOR_ID_S626, PCI_DEVICE_ID_S626, 0x6000, 0x0272, 0, 0, 0}, 117 121 {0} 118 122 }; 119 123 ··· 503 499 resource_size_t resourceStart; 504 500 dma_addr_t appdma; 505 501 struct comedi_subdevice *s; 506 - struct pci_dev *pdev; 502 + const struct pci_device_id *ids; 503 + struct pci_dev *pdev = NULL; 507 504 508 505 if (alloc_private(dev, sizeof(struct s626_private)) < 0) 509 506 return -ENOMEM; 510 507 511 - for (pdev = pci_get_device(PCI_VENDOR_ID_S626, PCI_DEVICE_ID_S626, 512 - NULL); pdev != NULL; 513 - pdev = pci_get_device(PCI_VENDOR_ID_S626, 514 - PCI_DEVICE_ID_S626, pdev)) { 515 - if (it->options[0] || it->options[1]) { 516 - if (pdev->bus->number == it->options[0] && 517 - PCI_SLOT(pdev->devfn) == it->options[1]) { 508 + for (i = 0; i < (ARRAY_SIZE(s626_pci_table) - 1) && !pdev; i++) { 509 + ids = &s626_pci_table[i]; 510 + do { 511 + pdev = pci_get_subsys(ids->vendor, ids->device, ids->subvendor, 512 + ids->subdevice, pdev); 513 + 514 + if ((it->options[0] || it->options[1]) && pdev) { 518 515 /* matches requested bus/slot */ 516 + if (pdev->bus->number == it->options[0] && 517 + PCI_SLOT(pdev->devfn) == it->options[1]) 518 + break; 519 + } else 519 520 break; 520 - } 521 - } else { 522 - /* no bus/slot specified */ 523 - break; 524 - } 521 + } while (1); 525 522 } 526 523 devpriv->pdev = pdev; 527 524
+1 -1
drivers/staging/meilhaus/TODO
··· 7 7 - possible comedi merge 8 8 9 9 Please send cleanup patches to Greg Kroah-Hartman <greg@kroah.com> 10 - and CC: David Kiliani <mail@davidkiliani.de> 10 + and CC: David Kiliani <mail@davidkiliani.de> and Meilhaus Support <support@meilhaus.de>
+4 -10
drivers/staging/rspiusb/rspiusb.c
··· 444 444 __func__, status); 445 445 446 446 pdx->pendingWrite = 0; 447 - usb_buffer_free(urb->dev, urb->transfer_buffer_length, 448 - urb->transfer_buffer, urb->transfer_dma); 447 + kfree(urb->transfer_buffer); 449 448 } 450 449 451 450 int piusb_output(struct ioctl_struct *io, unsigned char *uBuf, int len, ··· 456 457 457 458 urb = usb_alloc_urb(0, GFP_KERNEL); 458 459 if (urb != NULL) { 459 - kbuf = 460 - usb_buffer_alloc(pdx->udev, len, GFP_KERNEL, 461 - &urb->transfer_dma); 460 + kbuf = kmalloc(len, GFP_KERNEL); 462 461 if (!kbuf) { 463 462 dev_err(&pdx->udev->dev, "buffer_alloc failed\n"); 464 463 return -ENOMEM; ··· 467 470 } 468 471 usb_fill_bulk_urb(urb, pdx->udev, pdx->hEP[io->endpoint], kbuf, 469 472 len, piusb_write_bulk_callback, pdx); 470 - urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; 471 473 err = usb_submit_urb(urb, GFP_KERNEL); 472 474 if (err) { 473 475 dev_err(&pdx->udev->dev, ··· 637 641 numPagesRequired = 638 642 ((uaddr & ~PAGE_MASK) + count + ~PAGE_MASK) >> PAGE_SHIFT; 639 643 dbg("Number of pages needed = %d", numPagesRequired); 640 - maplist_p = vmalloc(numPagesRequired * sizeof(struct page)); 644 + maplist_p = vmalloc(numPagesRequired * sizeof(struct page *)); 641 645 if (!maplist_p) { 642 646 dbg("Can't Allocate Memory for maplist_p"); 643 647 return -ENOMEM; ··· 708 712 usb_fill_bulk_urb(pdx->PixelUrb[frameInfo][i], 709 713 pdx->udev, 710 714 epAddr, 711 - (dma_addr_t *) sg_dma_address(&pdx-> 712 - sgl[frameInfo] 713 - [i]), 715 + NULL, // non-DMA HC? buy a better hardware 714 716 sg_dma_len(&pdx->sgl[frameInfo][i]), 715 717 piusb_readPIXEL_callback, (void *)pdx); 716 718 pdx->PixelUrb[frameInfo][i]->transfer_dma =
+1
drivers/staging/rt2870/rt2870.h
··· 89 89 {USB_DEVICE(0x0DF6,0x002C)}, /* Sitecom */ \ 90 90 {USB_DEVICE(0x0DF6,0x002D)}, /* Sitecom */ \ 91 91 {USB_DEVICE(0x0DF6,0x0039)}, /* Sitecom */ \ 92 + {USB_DEVICE(0x0DF6,0x003F)}, /* Sitecom WL-608 */ \ 92 93 {USB_DEVICE(0x14B2,0x3C06)}, /* Conceptronic */ \ 93 94 {USB_DEVICE(0x14B2,0x3C28)}, /* Conceptronic */ \ 94 95 {USB_DEVICE(0x2019,0xED06)}, /* Planex Communications, Inc. */ \
+6 -6
drivers/staging/rtl8187se/ieee80211/ieee80211_softmac_wx.c
··· 461 461 struct iw_request_info *info, 462 462 union iwreq_data *wrqu, char *extra) 463 463 { 464 - strcpy(wrqu->name, "802.11"); 464 + strlcpy(wrqu->name, "802.11", IFNAMSIZ); 465 465 if(ieee->modulation & IEEE80211_CCK_MODULATION){ 466 - strcat(wrqu->name, "b"); 466 + strlcat(wrqu->name, "b", IFNAMSIZ); 467 467 if(ieee->modulation & IEEE80211_OFDM_MODULATION) 468 - strcat(wrqu->name, "/g"); 468 + strlcat(wrqu->name, "/g", IFNAMSIZ); 469 469 }else if(ieee->modulation & IEEE80211_OFDM_MODULATION) 470 - strcat(wrqu->name, "g"); 470 + strlcat(wrqu->name, "g", IFNAMSIZ); 471 471 472 472 if((ieee->state == IEEE80211_LINKED) || 473 473 (ieee->state == IEEE80211_LINKED_SCANNING)) 474 - strcat(wrqu->name," linked"); 474 + strlcat(wrqu->name," link", IFNAMSIZ); 475 475 else if(ieee->state != IEEE80211_NOLINK) 476 - strcat(wrqu->name," link.."); 476 + strlcat(wrqu->name," .....", IFNAMSIZ); 477 477 478 478 479 479 return 0;
+1 -1
drivers/staging/rtl8192su/Kconfig
··· 1 1 config RTL8192SU 2 2 tristate "RealTek RTL8192SU Wireless LAN NIC driver" 3 3 depends on PCI 4 - depends on WIRELESS_EXT && COMPAT_NET_DEV_OPS 4 + depends on WIRELESS_EXT 5 5 default N 6 6 ---help---
-1
drivers/staging/rtl8192su/ieee80211/ieee80211_module.c
··· 118 118 #else 119 119 ieee = (struct ieee80211_device *)dev->priv; 120 120 #endif 121 - dev->hard_start_xmit = ieee80211_xmit; 122 121 123 122 memset(ieee, 0, sizeof(struct ieee80211_device)+sizeof_priv); 124 123 ieee->dev = dev;
+7 -7
drivers/staging/rtl8192su/ieee80211/ieee80211_softmac_wx.c
··· 548 548 struct iw_request_info *info, 549 549 union iwreq_data *wrqu, char *extra) 550 550 { 551 - strcpy(wrqu->name, "802.11"); 551 + strlcpy(wrqu->name, "802.11", IFNAMSIZ); 552 552 if(ieee->modulation & IEEE80211_CCK_MODULATION){ 553 - strcat(wrqu->name, "b"); 553 + strlcat(wrqu->name, "b", IFNAMSIZ); 554 554 if(ieee->modulation & IEEE80211_OFDM_MODULATION) 555 - strcat(wrqu->name, "/g"); 555 + strlcat(wrqu->name, "/g", IFNAMSIZ); 556 556 }else if(ieee->modulation & IEEE80211_OFDM_MODULATION) 557 - strcat(wrqu->name, "g"); 557 + strlcat(wrqu->name, "g", IFNAMSIZ); 558 558 if (ieee->mode & (IEEE_N_24G | IEEE_N_5G)) 559 - strcat(wrqu->name, "/n"); 559 + strlcat(wrqu->name, "/n", IFNAMSIZ); 560 560 561 561 if((ieee->state == IEEE80211_LINKED) || 562 562 (ieee->state == IEEE80211_LINKED_SCANNING)) 563 - strcat(wrqu->name," linked"); 563 + strlcat(wrqu->name, " link", IFNAMSIZ); 564 564 else if(ieee->state != IEEE80211_NOLINK) 565 - strcat(wrqu->name," link.."); 565 + strlcat(wrqu->name, " .....", IFNAMSIZ); 566 566 567 567 568 568 return 0;
+14 -9
drivers/staging/rtl8192su/r8192U_core.c
··· 12132 12132 } 12133 12133 #endif 12134 12134 12135 + static const struct net_device_ops rtl8192_netdev_ops = { 12136 + .ndo_open = rtl8192_open, 12137 + .ndo_stop = rtl8192_close, 12138 + .ndo_get_stats = rtl8192_stats, 12139 + .ndo_tx_timeout = tx_timeout, 12140 + .ndo_do_ioctl = rtl8192_ioctl, 12141 + .ndo_set_multicast_list = r8192_set_multicast, 12142 + .ndo_set_mac_address = r8192_set_mac_adr, 12143 + .ndo_validate_addr = eth_validate_addr, 12144 + .ndo_change_mtu = eth_change_mtu, 12145 + .ndo_start_xmit = ieee80211_xmit, 12146 + }; 12147 + 12135 12148 #if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0) 12136 12149 static int __devinit rtl8192_usb_probe(struct usb_interface *intf, 12137 12150 const struct usb_device_id *id) ··· 12199 12186 priv->ops = &rtl8192u_ops; 12200 12187 #endif 12201 12188 12202 - dev->open = rtl8192_open; 12203 - dev->stop = rtl8192_close; 12204 - //dev->hard_start_xmit = rtl8192_8023_hard_start_xmit; 12205 - dev->tx_timeout = tx_timeout; 12206 - //dev->wireless_handlers = &r8192_wx_handlers_def; 12207 - dev->do_ioctl = rtl8192_ioctl; 12208 - dev->set_multicast_list = r8192_set_multicast; 12209 - dev->set_mac_address = r8192_set_mac_adr; 12210 - dev->get_stats = rtl8192_stats; 12189 + dev->netdev_ops = &rtl8192_netdev_ops; 12211 12190 12212 12191 //DMESG("Oops: i'm coming\n"); 12213 12192 #if WIRELESS_EXT >= 12
+6 -2
drivers/staging/rtl8192su/r8192U_pm.c
··· 35 35 return 0; 36 36 } 37 37 38 - dev->stop(dev); 38 + if (dev->netdev_ops->ndo_stop) 39 + dev->netdev_ops->ndo_stop(dev); 40 + 39 41 mdelay(10); 40 42 41 43 netif_device_detach(dev); ··· 63 61 } 64 62 65 63 netif_device_attach(dev); 66 - dev->open(dev); 64 + 65 + if (dev->netdev_ops->ndo_open) 66 + dev->netdev_ops->ndo_open(dev); 67 67 } 68 68 69 69 return 0;
+5 -3
drivers/staging/serqt_usb2/serqt_usb2.c
··· 866 866 867 867 } 868 868 869 - int qt_open(struct tty_struct *tty, 869 + static int qt_open(struct tty_struct *tty, 870 870 struct usb_serial_port *port, struct file *filp) 871 871 { 872 872 struct usb_serial *serial; ··· 1041 1041 } 1042 1042 } 1043 1043 1044 - static void qt_close(struct tty_struct *tty, struct usb_serial_port *port, 1045 - struct file *filp) 1044 + static void qt_close( struct usb_serial_port *port) 1046 1045 { 1047 1046 struct usb_serial *serial = port->serial; 1048 1047 struct quatech_port *qt_port; 1049 1048 struct quatech_port *port0; 1049 + struct tty_struct *tty; 1050 1050 int status; 1051 1051 unsigned int index; 1052 1052 status = 0; 1053 1053 1054 1054 dbg("%s - port %d\n", __func__, port->number); 1055 + 1056 + tty = tty_port_tty_get(&port->port); 1055 1057 index = tty->index - serial->minor; 1056 1058 1057 1059 qt_port = qt_get_port_private(port);
+8 -19
drivers/staging/stlc45xx/stlc45xx.c
··· 2235 2235 stlc45xx_debug(DEBUG_FUNC, "%s", __func__); 2236 2236 } 2237 2237 2238 - static int stlc45xx_op_config_interface(struct ieee80211_hw *hw, 2239 - struct ieee80211_vif *vif, 2240 - struct ieee80211_if_conf *conf) 2241 - { 2242 - struct stlc45xx *stlc = hw->priv; 2243 - 2244 - stlc45xx_debug(DEBUG_FUNC, "%s", __func__); 2245 - 2246 - mutex_lock(&stlc->mutex); 2247 - 2248 - memcpy(stlc->bssid, conf->bssid, ETH_ALEN); 2249 - stlc45xx_tx_setup(stlc); 2250 - 2251 - mutex_unlock(&stlc->mutex); 2252 - 2253 - return 0; 2254 - } 2255 - 2256 2238 static int stlc45xx_op_config(struct ieee80211_hw *hw, u32 changed) 2257 2239 { 2258 2240 struct stlc45xx *stlc = hw->priv; ··· 2276 2294 u32 changed) 2277 2295 { 2278 2296 struct stlc45xx *stlc = hw->priv; 2297 + 2298 + stlc45xx_debug(DEBUG_FUNC, "%s", __func__); 2299 + mutex_lock(&stlc->mutex); 2300 + 2301 + memcpy(stlc->bssid, info->bssid, ETH_ALEN); 2302 + stlc45xx_tx_setup(stlc); 2303 + 2304 + mutex_unlock(&stlc->mutex); 2279 2305 2280 2306 if (changed & BSS_CHANGED_ASSOC) { 2281 2307 stlc->associated = info->assoc; ··· 2347 2357 .add_interface = stlc45xx_op_add_interface, 2348 2358 .remove_interface = stlc45xx_op_remove_interface, 2349 2359 .config = stlc45xx_op_config, 2350 - .config_interface = stlc45xx_op_config_interface, 2351 2360 .configure_filter = stlc45xx_op_configure_filter, 2352 2361 .tx = stlc45xx_op_tx, 2353 2362 .bss_info_changed = stlc45xx_op_bss_info_changed,
+5 -5
drivers/staging/vt6655/device_main.c
··· 344 344 }; 345 345 346 346 static struct pci_device_id device_id_table[] __devinitdata = { 347 - { 0x1106, 0x3253, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (int)&chip_info_table[0]}, 347 + { 0x1106, 0x3253, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (long)&chip_info_table[0]}, 348 348 { 0, } 349 349 }; 350 350 #endif ··· 369 369 370 370 #ifdef CONFIG_PM 371 371 static int device_notify_reboot(struct notifier_block *, unsigned long event, void *ptr); 372 - static int viawget_suspend(struct pci_dev *pcid, u32 state); 372 + static int viawget_suspend(struct pci_dev *pcid, pm_message_t state); 373 373 static int viawget_resume(struct pci_dev *pcid); 374 374 struct notifier_block device_notifier = { 375 375 notifier_call: device_notify_reboot, ··· 3941 3941 while ((pdev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, pdev)) != NULL) { 3942 3942 if(pci_dev_driver(pdev) == &device_driver) { 3943 3943 if (pci_get_drvdata(pdev)) 3944 - viawget_suspend(pdev, 3); 3944 + viawget_suspend(pdev, PMSG_HIBERNATE); 3945 3945 } 3946 3946 } 3947 3947 } ··· 3949 3949 } 3950 3950 3951 3951 static int 3952 - viawget_suspend(struct pci_dev *pcid, u32 state) 3952 + viawget_suspend(struct pci_dev *pcid, pm_message_t state) 3953 3953 { 3954 3954 int power_status; // to silence the compiler 3955 3955 ··· 3971 3971 memset(pMgmt->abyCurrBSSID, 0, 6); 3972 3972 pMgmt->eCurrState = WMAC_STATE_IDLE; 3973 3973 pci_disable_device(pcid); 3974 - power_status = pci_set_power_state(pcid, state); 3974 + power_status = pci_set_power_state(pcid, pci_choose_state(pcid, state)); 3975 3975 spin_unlock_irq(&pDevice->lock); 3976 3976 return 0; 3977 3977 }