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: wlan-ng: Explicitly set some fields in cfg80211 interface Staging: octeon: depends on NETDEVICES Staging: spectra: depend on X86_MRST Staging: zram: free device memory when init fails Staging: rt2870sta: Add more device IDs from vendor drivers staging: comedi das08_cs.c: Fix io_req_t conversion staging: spectra needs <linux/slab.h> staging: hv: Fixed lockup problem with bounce_buffer scatter list staging: hv: Increased storvsc ringbuffer and max_io_requests staging: hv: Fixed the value of the 64bit-hole inside ring buffer staging: hv: Fixed bounce kmap problem by using correct index staging: hv: Fix missing functions for net_device_ops
This commit is contained in:
commit
96d4cbb6a9
|
@ -222,7 +222,6 @@ static int das08_pcmcia_config_loop(struct pcmcia_device *p_dev,
|
|||
p_dev->resource[0]->flags &= ~IO_DATA_PATH_WIDTH;
|
||||
p_dev->resource[0]->flags |=
|
||||
pcmcia_io_cfg_data_width(io->flags);
|
||||
p_dev->io.IOAddrLines = io->flags & CISTPL_IO_LINES_MASK;
|
||||
p_dev->resource[0]->start = io->win[0].base;
|
||||
p_dev->resource[0]->end = io->win[0].len;
|
||||
if (io->nwin > 1) {
|
||||
|
|
|
@ -327,6 +327,9 @@ static const struct net_device_ops device_ops = {
|
|||
.ndo_stop = netvsc_close,
|
||||
.ndo_start_xmit = netvsc_start_xmit,
|
||||
.ndo_set_multicast_list = netvsc_set_multicast_list,
|
||||
.ndo_change_mtu = eth_change_mtu,
|
||||
.ndo_validate_addr = eth_validate_addr,
|
||||
.ndo_set_mac_address = eth_mac_addr,
|
||||
};
|
||||
|
||||
static int netvsc_probe(struct device *device)
|
||||
|
|
|
@ -193,8 +193,7 @@ Description:
|
|||
static inline u64
|
||||
GetRingBufferIndices(struct hv_ring_buffer_info *RingInfo)
|
||||
{
|
||||
return ((u64)RingInfo->RingBuffer->WriteIndex << 32)
|
||||
|| RingInfo->RingBuffer->ReadIndex;
|
||||
return (u64)RingInfo->RingBuffer->WriteIndex << 32;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -28,10 +28,10 @@
|
|||
#include "vmbus_api.h"
|
||||
|
||||
/* Defines */
|
||||
#define STORVSC_RING_BUFFER_SIZE (10*PAGE_SIZE)
|
||||
#define STORVSC_RING_BUFFER_SIZE (20*PAGE_SIZE)
|
||||
#define BLKVSC_RING_BUFFER_SIZE (20*PAGE_SIZE)
|
||||
|
||||
#define STORVSC_MAX_IO_REQUESTS 64
|
||||
#define STORVSC_MAX_IO_REQUESTS 128
|
||||
|
||||
/*
|
||||
* In Hyper-V, each port/path/target maps to 1 scsi host adapter. In
|
||||
|
|
|
@ -495,7 +495,7 @@ static unsigned int copy_to_bounce_buffer(struct scatterlist *orig_sgl,
|
|||
|
||||
/* ASSERT(orig_sgl[i].offset + orig_sgl[i].length <= PAGE_SIZE); */
|
||||
|
||||
if (j == 0)
|
||||
if (bounce_addr == 0)
|
||||
bounce_addr = (unsigned long)kmap_atomic(sg_page((&bounce_sgl[j])), KM_IRQ0);
|
||||
|
||||
while (srclen) {
|
||||
|
@ -556,7 +556,7 @@ static unsigned int copy_from_bounce_buffer(struct scatterlist *orig_sgl,
|
|||
destlen = orig_sgl[i].length;
|
||||
/* ASSERT(orig_sgl[i].offset + orig_sgl[i].length <= PAGE_SIZE); */
|
||||
|
||||
if (j == 0)
|
||||
if (bounce_addr == 0)
|
||||
bounce_addr = (unsigned long)kmap_atomic(sg_page((&bounce_sgl[j])), KM_IRQ0);
|
||||
|
||||
while (destlen) {
|
||||
|
@ -615,6 +615,7 @@ static int storvsc_queuecommand(struct scsi_cmnd *scmnd,
|
|||
unsigned int request_size = 0;
|
||||
int i;
|
||||
struct scatterlist *sgl;
|
||||
unsigned int sg_count = 0;
|
||||
|
||||
DPRINT_DBG(STORVSC_DRV, "scmnd %p dir %d, use_sg %d buf %p len %d "
|
||||
"queue depth %d tagged %d", scmnd, scmnd->sc_data_direction,
|
||||
|
@ -697,6 +698,7 @@ static int storvsc_queuecommand(struct scsi_cmnd *scmnd,
|
|||
request->DataBuffer.Length = scsi_bufflen(scmnd);
|
||||
if (scsi_sg_count(scmnd)) {
|
||||
sgl = (struct scatterlist *)scsi_sglist(scmnd);
|
||||
sg_count = scsi_sg_count(scmnd);
|
||||
|
||||
/* check if we need to bounce the sgl */
|
||||
if (do_bounce_buffer(sgl, scsi_sg_count(scmnd)) != -1) {
|
||||
|
@ -731,15 +733,16 @@ static int storvsc_queuecommand(struct scsi_cmnd *scmnd,
|
|||
scsi_sg_count(scmnd));
|
||||
|
||||
sgl = cmd_request->bounce_sgl;
|
||||
sg_count = cmd_request->bounce_sgl_count;
|
||||
}
|
||||
|
||||
request->DataBuffer.Offset = sgl[0].offset;
|
||||
|
||||
for (i = 0; i < scsi_sg_count(scmnd); i++) {
|
||||
for (i = 0; i < sg_count; i++) {
|
||||
DPRINT_DBG(STORVSC_DRV, "sgl[%d] len %d offset %d\n",
|
||||
i, sgl[i].length, sgl[i].offset);
|
||||
request->DataBuffer.PfnArray[i] =
|
||||
page_to_pfn(sg_page((&sgl[i])));
|
||||
page_to_pfn(sg_page((&sgl[i])));
|
||||
}
|
||||
} else if (scsi_sglist(scmnd)) {
|
||||
/* ASSERT(scsi_bufflen(scmnd) <= PAGE_SIZE); */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
config OCTEON_ETHERNET
|
||||
tristate "Cavium Networks Octeon Ethernet support"
|
||||
depends on CPU_CAVIUM_OCTEON
|
||||
depends on CPU_CAVIUM_OCTEON && NETDEVICES
|
||||
select PHYLIB
|
||||
select MDIO_OCTEON
|
||||
help
|
||||
|
|
|
@ -44,6 +44,7 @@ struct usb_device_id rtusb_usb_id[] = {
|
|||
{USB_DEVICE(0x07B8, 0x2870)}, /* AboCom */
|
||||
{USB_DEVICE(0x07B8, 0x2770)}, /* AboCom */
|
||||
{USB_DEVICE(0x0DF6, 0x0039)}, /* Sitecom 2770 */
|
||||
{USB_DEVICE(0x0DF6, 0x003F)}, /* Sitecom 2770 */
|
||||
{USB_DEVICE(0x083A, 0x7512)}, /* Arcadyan 2770 */
|
||||
{USB_DEVICE(0x0789, 0x0162)}, /* Logitec 2870 */
|
||||
{USB_DEVICE(0x0789, 0x0163)}, /* Logitec 2870 */
|
||||
|
@ -95,7 +96,8 @@ struct usb_device_id rtusb_usb_id[] = {
|
|||
{USB_DEVICE(0x050d, 0x815c)},
|
||||
{USB_DEVICE(0x1482, 0x3C09)}, /* Abocom */
|
||||
{USB_DEVICE(0x14B2, 0x3C09)}, /* Alpha */
|
||||
{USB_DEVICE(0x04E8, 0x2018)}, /* samsung */
|
||||
{USB_DEVICE(0x04E8, 0x2018)}, /* samsung linkstick2 */
|
||||
{USB_DEVICE(0x1690, 0x0740)}, /* Askey */
|
||||
{USB_DEVICE(0x5A57, 0x0280)}, /* Zinwell */
|
||||
{USB_DEVICE(0x5A57, 0x0282)}, /* Zinwell */
|
||||
{USB_DEVICE(0x7392, 0x7718)},
|
||||
|
@ -105,21 +107,34 @@ struct usb_device_id rtusb_usb_id[] = {
|
|||
{USB_DEVICE(0x1737, 0x0071)}, /* Linksys WUSB600N */
|
||||
{USB_DEVICE(0x0411, 0x00e8)}, /* Buffalo WLI-UC-G300N */
|
||||
{USB_DEVICE(0x050d, 0x815c)}, /* Belkin F5D8053 */
|
||||
{USB_DEVICE(0x100D, 0x9031)}, /* Motorola 2770 */
|
||||
#endif /* RT2870 // */
|
||||
#ifdef RT3070
|
||||
{USB_DEVICE(0x148F, 0x3070)}, /* Ralink 3070 */
|
||||
{USB_DEVICE(0x148F, 0x3071)}, /* Ralink 3071 */
|
||||
{USB_DEVICE(0x148F, 0x3072)}, /* Ralink 3072 */
|
||||
{USB_DEVICE(0x0DB0, 0x3820)}, /* Ralink 3070 */
|
||||
{USB_DEVICE(0x0DB0, 0x871C)}, /* Ralink 3070 */
|
||||
{USB_DEVICE(0x0DB0, 0x822C)}, /* Ralink 3070 */
|
||||
{USB_DEVICE(0x0DB0, 0x871B)}, /* Ralink 3070 */
|
||||
{USB_DEVICE(0x0DB0, 0x822B)}, /* Ralink 3070 */
|
||||
{USB_DEVICE(0x0DF6, 0x003E)}, /* Sitecom 3070 */
|
||||
{USB_DEVICE(0x0DF6, 0x0042)}, /* Sitecom 3072 */
|
||||
{USB_DEVICE(0x0DF6, 0x0048)}, /* Sitecom 3070 */
|
||||
{USB_DEVICE(0x0DF6, 0x0047)}, /* Sitecom 3071 */
|
||||
{USB_DEVICE(0x14B2, 0x3C12)}, /* AL 3070 */
|
||||
{USB_DEVICE(0x18C5, 0x0012)}, /* Corega 3070 */
|
||||
{USB_DEVICE(0x083A, 0x7511)}, /* Arcadyan 3070 */
|
||||
{USB_DEVICE(0x083A, 0xA701)}, /* SMC 3070 */
|
||||
{USB_DEVICE(0x083A, 0xA702)}, /* SMC 3072 */
|
||||
{USB_DEVICE(0x1740, 0x9703)}, /* EnGenius 3070 */
|
||||
{USB_DEVICE(0x1740, 0x9705)}, /* EnGenius 3071 */
|
||||
{USB_DEVICE(0x1740, 0x9706)}, /* EnGenius 3072 */
|
||||
{USB_DEVICE(0x1740, 0x9707)}, /* EnGenius 3070 */
|
||||
{USB_DEVICE(0x1740, 0x9708)}, /* EnGenius 3071 */
|
||||
{USB_DEVICE(0x1740, 0x9709)}, /* EnGenius 3072 */
|
||||
{USB_DEVICE(0x13D3, 0x3273)}, /* AzureWave 3070 */
|
||||
{USB_DEVICE(0x13D3, 0x3305)}, /* AzureWave 3070*/
|
||||
{USB_DEVICE(0x1044, 0x800D)}, /* Gigabyte GN-WB32L 3070 */
|
||||
{USB_DEVICE(0x2019, 0xAB25)}, /* Planex Communications, Inc. RT3070 */
|
||||
{USB_DEVICE(0x07B8, 0x3070)}, /* AboCom 3070 */
|
||||
|
@ -132,14 +147,36 @@ struct usb_device_id rtusb_usb_id[] = {
|
|||
{USB_DEVICE(0x07D1, 0x3C0D)}, /* D-Link 3070 */
|
||||
{USB_DEVICE(0x07D1, 0x3C0E)}, /* D-Link 3070 */
|
||||
{USB_DEVICE(0x07D1, 0x3C0F)}, /* D-Link 3070 */
|
||||
{USB_DEVICE(0x07D1, 0x3C16)}, /* D-Link 3070 */
|
||||
{USB_DEVICE(0x07D1, 0x3C17)}, /* D-Link 8070 */
|
||||
{USB_DEVICE(0x1D4D, 0x000C)}, /* Pegatron Corporation 3070 */
|
||||
{USB_DEVICE(0x1D4D, 0x000E)}, /* Pegatron Corporation 3070 */
|
||||
{USB_DEVICE(0x5A57, 0x5257)}, /* Zinwell 3070 */
|
||||
{USB_DEVICE(0x5A57, 0x0283)}, /* Zinwell 3072 */
|
||||
{USB_DEVICE(0x04BB, 0x0945)}, /* I-O DATA 3072 */
|
||||
{USB_DEVICE(0x04BB, 0x0947)}, /* I-O DATA 3070 */
|
||||
{USB_DEVICE(0x04BB, 0x0948)}, /* I-O DATA 3072 */
|
||||
{USB_DEVICE(0x203D, 0x1480)}, /* Encore 3070 */
|
||||
{USB_DEVICE(0x20B8, 0x8888)}, /* PARA INDUSTRIAL 3070 */
|
||||
{USB_DEVICE(0x0B05, 0x1784)}, /* Asus 3072 */
|
||||
{USB_DEVICE(0x203D, 0x14A9)}, /* Encore 3070*/
|
||||
{USB_DEVICE(0x0DB0, 0x899A)}, /* MSI 3070*/
|
||||
{USB_DEVICE(0x0DB0, 0x3870)}, /* MSI 3070*/
|
||||
{USB_DEVICE(0x0DB0, 0x870A)}, /* MSI 3070*/
|
||||
{USB_DEVICE(0x0DB0, 0x6899)}, /* MSI 3070 */
|
||||
{USB_DEVICE(0x0DB0, 0x3822)}, /* MSI 3070 */
|
||||
{USB_DEVICE(0x0DB0, 0x3871)}, /* MSI 3070 */
|
||||
{USB_DEVICE(0x0DB0, 0x871A)}, /* MSI 3070 */
|
||||
{USB_DEVICE(0x0DB0, 0x822A)}, /* MSI 3070 */
|
||||
{USB_DEVICE(0x0DB0, 0x3821)}, /* Ralink 3070 */
|
||||
{USB_DEVICE(0x0DB0, 0x821A)}, /* Ralink 3070 */
|
||||
{USB_DEVICE(0x083A, 0xA703)}, /* IO-MAGIC */
|
||||
{USB_DEVICE(0x13D3, 0x3307)}, /* Azurewave */
|
||||
{USB_DEVICE(0x13D3, 0x3321)}, /* Azurewave */
|
||||
{USB_DEVICE(0x07FA, 0x7712)}, /* Edimax */
|
||||
{USB_DEVICE(0x0789, 0x0166)}, /* Edimax */
|
||||
{USB_DEVICE(0x148F, 0x2070)}, /* Edimax */
|
||||
#endif /* RT3070 // */
|
||||
{USB_DEVICE(0x0DF6, 0x003F)}, /* Sitecom WL-608 */
|
||||
{USB_DEVICE(0x1737, 0x0077)}, /* Linksys WUSB54GC-EU v3 */
|
||||
{USB_DEVICE(0x2001, 0x3C09)}, /* D-Link */
|
||||
{USB_DEVICE(0x2001, 0x3C0A)}, /* D-Link 3072 */
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
menuconfig SPECTRA
|
||||
tristate "Denali Spectra Flash Translation Layer"
|
||||
depends on BLOCK
|
||||
depends on X86_MRST
|
||||
default n
|
||||
---help---
|
||||
Enable the FTL pseudo-filesystem used with the NAND Flash
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#include <linux/log2.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/smp_lock.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
/**** Helper functions used for Div, Remainder operation on u64 ****/
|
||||
|
||||
|
|
|
@ -219,6 +219,7 @@ int prism2_get_key(struct wiphy *wiphy, struct net_device *dev,
|
|||
return -ENOENT;
|
||||
params.key_len = len;
|
||||
params.key = wlandev->wep_keys[key_index];
|
||||
params.seq_len = 0;
|
||||
|
||||
callback(cookie, ¶ms);
|
||||
|
||||
|
@ -735,6 +736,8 @@ struct wiphy *wlan_create_wiphy(struct device *dev, wlandevice_t *wlandev)
|
|||
priv->band.n_channels = ARRAY_SIZE(prism2_channels);
|
||||
priv->band.bitrates = priv->rates;
|
||||
priv->band.n_bitrates = ARRAY_SIZE(prism2_rates);
|
||||
priv->band.band = IEEE80211_BAND_2GHZ;
|
||||
priv->band.ht_cap.ht_supported = false;
|
||||
wiphy->bands[IEEE80211_BAND_2GHZ] = &priv->band;
|
||||
|
||||
set_wiphy_dev(wiphy, dev);
|
||||
|
|
|
@ -769,6 +769,7 @@ static int __init zram_init(void)
|
|||
free_devices:
|
||||
while (dev_id)
|
||||
destroy_device(&devices[--dev_id]);
|
||||
kfree(devices);
|
||||
unregister:
|
||||
unregister_blkdev(zram_major, "zram");
|
||||
out:
|
||||
|
|
Loading…
Reference in New Issue