Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/bnx2x_main.c drivers/net/wireless/iwlwifi/iwl3945-base.c drivers/net/wireless/rt2x00/rt73usb.c
This commit is contained in:
commit
d5df2a1613
|
@ -160,7 +160,7 @@ struct sw_rx_page {
|
|||
#define PAGES_PER_SGE (1 << PAGES_PER_SGE_SHIFT)
|
||||
#define SGE_PAGE_SIZE PAGE_SIZE
|
||||
#define SGE_PAGE_SHIFT PAGE_SHIFT
|
||||
#define SGE_PAGE_ALIGN(addr) PAGE_ALIGN(addr)
|
||||
#define SGE_PAGE_ALIGN(addr) PAGE_ALIGN((typeof(PAGE_SIZE))addr)
|
||||
|
||||
/* SGE ring related macros */
|
||||
#define NUM_RX_SGE_PAGES 2
|
||||
|
|
|
@ -3482,8 +3482,8 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|||
out_iounmap:
|
||||
pci_iounmap(pdev, priv->hw_base);
|
||||
out_pci_release_regions:
|
||||
pci_release_regions(pdev);
|
||||
pci_set_drvdata(pdev, NULL);
|
||||
pci_release_regions(pdev);
|
||||
out_pci_disable_device:
|
||||
pci_disable_device(pdev);
|
||||
out_ieee80211_free_hw:
|
||||
|
|
|
@ -5110,7 +5110,7 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
|
|||
/* amp init */
|
||||
err = priv->cfg->ops->lib->apm_ops.init(priv);
|
||||
if (err < 0) {
|
||||
IWL_DEBUG_INFO(priv, "Failed to init APMG\n");
|
||||
IWL_DEBUG_INFO(priv, "Failed to init the card\n");
|
||||
goto out_iounmap;
|
||||
}
|
||||
|
||||
|
@ -5234,8 +5234,8 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
|
|||
out_pci_release_regions:
|
||||
pci_release_regions(pdev);
|
||||
out_pci_disable_device:
|
||||
pci_disable_device(pdev);
|
||||
pci_set_drvdata(pdev, NULL);
|
||||
pci_disable_device(pdev);
|
||||
out_ieee80211_free_hw:
|
||||
ieee80211_free_hw(priv->hw);
|
||||
out:
|
||||
|
|
|
@ -849,10 +849,11 @@ static struct sk_buff *p54_find_tx_entry(struct ieee80211_hw *dev,
|
|||
__le32 req_id)
|
||||
{
|
||||
struct p54_common *priv = dev->priv;
|
||||
struct sk_buff *entry = priv->tx_queue.next;
|
||||
struct sk_buff *entry;
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&priv->tx_queue.lock, flags);
|
||||
entry = priv->tx_queue.next;
|
||||
while (entry != (struct sk_buff *)&priv->tx_queue) {
|
||||
struct p54_hdr *hdr = (struct p54_hdr *) entry->data;
|
||||
|
||||
|
@ -871,7 +872,7 @@ static void p54_rx_frame_sent(struct ieee80211_hw *dev, struct sk_buff *skb)
|
|||
struct p54_common *priv = dev->priv;
|
||||
struct p54_hdr *hdr = (struct p54_hdr *) skb->data;
|
||||
struct p54_frame_sent *payload = (struct p54_frame_sent *) hdr->data;
|
||||
struct sk_buff *entry = (struct sk_buff *) priv->tx_queue.next;
|
||||
struct sk_buff *entry;
|
||||
u32 addr = le32_to_cpu(hdr->req_id) - priv->headroom;
|
||||
struct p54_tx_info *range = NULL;
|
||||
u32 freed = 0;
|
||||
|
@ -880,6 +881,7 @@ static void p54_rx_frame_sent(struct ieee80211_hw *dev, struct sk_buff *skb)
|
|||
int count, idx;
|
||||
|
||||
spin_lock_irqsave(&priv->tx_queue.lock, flags);
|
||||
entry = (struct sk_buff *) priv->tx_queue.next;
|
||||
while (entry != (struct sk_buff *)&priv->tx_queue) {
|
||||
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(entry);
|
||||
struct p54_hdr *entry_hdr;
|
||||
|
@ -1122,7 +1124,7 @@ static int p54_assign_address(struct ieee80211_hw *dev, struct sk_buff *skb,
|
|||
struct p54_hdr *data, u32 len)
|
||||
{
|
||||
struct p54_common *priv = dev->priv;
|
||||
struct sk_buff *entry = priv->tx_queue.next;
|
||||
struct sk_buff *entry;
|
||||
struct sk_buff *target_skb = NULL;
|
||||
struct ieee80211_tx_info *info;
|
||||
struct p54_tx_info *range;
|
||||
|
@ -1160,6 +1162,7 @@ static int p54_assign_address(struct ieee80211_hw *dev, struct sk_buff *skb,
|
|||
}
|
||||
}
|
||||
|
||||
entry = priv->tx_queue.next;
|
||||
while (left--) {
|
||||
u32 hole_size;
|
||||
info = IEEE80211_SKB_CB(entry);
|
||||
|
|
|
@ -2004,6 +2004,8 @@ static struct usb_device_id rt2500usb_device_table[] = {
|
|||
{ USB_DEVICE(0x13b1, 0x000d), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
{ USB_DEVICE(0x13b1, 0x0011), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
{ USB_DEVICE(0x13b1, 0x001a), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
/* CNet */
|
||||
{ USB_DEVICE(0x1371, 0x9022), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
/* Conceptronic */
|
||||
{ USB_DEVICE(0x14b2, 0x3c02), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
/* D-LINK */
|
||||
|
@ -2028,14 +2030,20 @@ static struct usb_device_id rt2500usb_device_table[] = {
|
|||
{ USB_DEVICE(0x148f, 0x2570), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
{ USB_DEVICE(0x148f, 0x2573), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
{ USB_DEVICE(0x148f, 0x9020), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
/* Sagem */
|
||||
{ USB_DEVICE(0x079b, 0x004b), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
/* Siemens */
|
||||
{ USB_DEVICE(0x0681, 0x3c06), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
/* SMC */
|
||||
{ USB_DEVICE(0x0707, 0xee13), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
/* Spairon */
|
||||
{ USB_DEVICE(0x114b, 0x0110), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
/* SURECOM */
|
||||
{ USB_DEVICE(0x0769, 0x11f3), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
/* Trust */
|
||||
{ USB_DEVICE(0x0eb0, 0x9020), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
/* VTech */
|
||||
{ USB_DEVICE(0x0f88, 0x3012), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
/* Zinwell */
|
||||
{ USB_DEVICE(0x5a57, 0x0260), USB_DEVICE_DATA(&rt2500usb_ops) },
|
||||
{ 0, }
|
||||
|
|
|
@ -2341,10 +2341,18 @@ static const struct rt2x00_ops rt73usb_ops = {
|
|||
*/
|
||||
static struct usb_device_id rt73usb_device_table[] = {
|
||||
/* AboCom */
|
||||
{ USB_DEVICE(0x07b8, 0xb21b), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x07b8, 0xb21c), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x07b8, 0xb21d), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x07b8, 0xb21e), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x07b8, 0xb21f), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* AL */
|
||||
{ USB_DEVICE(0x14b2, 0x3c10), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* Amigo */
|
||||
{ USB_DEVICE(0x148f, 0x9021), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x0eb0, 0x9021), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* AMIT */
|
||||
{ USB_DEVICE(0x18c5, 0x0002), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* Askey */
|
||||
{ USB_DEVICE(0x1690, 0x0722), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* ASUS */
|
||||
|
@ -2357,6 +2365,7 @@ static struct usb_device_id rt73usb_device_table[] = {
|
|||
{ USB_DEVICE(0x050d, 0x905c), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* Billionton */
|
||||
{ USB_DEVICE(0x1631, 0xc019), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x08dd, 0x0120), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* Buffalo */
|
||||
{ USB_DEVICE(0x0411, 0x00d8), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x0411, 0x00f4), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
|
@ -2372,6 +2381,11 @@ static struct usb_device_id rt73usb_device_table[] = {
|
|||
{ USB_DEVICE(0x07d1, 0x3c04), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x07d1, 0x3c06), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x07d1, 0x3c07), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* Edimax */
|
||||
{ USB_DEVICE(0x7392, 0x7318), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x7392, 0x7618), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* EnGenius */
|
||||
{ USB_DEVICE(0x1740, 0x3701), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* Gemtek */
|
||||
{ USB_DEVICE(0x15a9, 0x0004), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* Gigabyte */
|
||||
|
@ -2399,16 +2413,25 @@ static struct usb_device_id rt73usb_device_table[] = {
|
|||
{ USB_DEVICE(0x18e8, 0x6196), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x18e8, 0x6229), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x18e8, 0x6238), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* Samsung */
|
||||
{ USB_DEVICE(0x04e8, 0x4471), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* Senao */
|
||||
{ USB_DEVICE(0x1740, 0x7100), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* Sitecom */
|
||||
{ USB_DEVICE(0x0df6, 0x9712), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x0df6, 0x0024), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x0df6, 0x0027), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x0df6, 0x002f), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x0df6, 0x90ac), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x0df6, 0x9712), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* Surecom */
|
||||
{ USB_DEVICE(0x0769, 0x31f3), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* Philips */
|
||||
{ USB_DEVICE(0x0471, 0x200a), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* Planex */
|
||||
{ USB_DEVICE(0x2019, 0xab01), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ USB_DEVICE(0x2019, 0xab50), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* Zcom */
|
||||
{ USB_DEVICE(0x0cde, 0x001c), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
/* ZyXEL */
|
||||
{ USB_DEVICE(0x0586, 0x3415), USB_DEVICE_DATA(&rt73usb_ops) },
|
||||
{ 0, }
|
||||
|
|
|
@ -392,7 +392,8 @@ static bool is_valid_reg_rule(const struct ieee80211_reg_rule *rule)
|
|||
|
||||
freq_diff = freq_range->end_freq_khz - freq_range->start_freq_khz;
|
||||
|
||||
if (freq_diff <= 0 || freq_range->max_bandwidth_khz > freq_diff)
|
||||
if (freq_range->end_freq_khz <= freq_range->start_freq_khz ||
|
||||
freq_range->max_bandwidth_khz > freq_diff)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
|
Loading…
Reference in a new issue