Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

Conflicts:
	drivers/net/bnx2x/bnx2x.h
	drivers/net/wireless/iwlwifi/iwl-1000.c
	drivers/net/wireless/iwlwifi/iwl-6000.c
	drivers/net/wireless/iwlwifi/iwl-core.h
	drivers/vhost/vhost.c
This commit is contained in:
David S. Miller
2010-12-17 12:27:22 -08:00
70 changed files with 458 additions and 202 deletions
-1
View File
@@ -5943,7 +5943,6 @@ F: include/linux/tty.h
TULIP NETWORK DRIVERS TULIP NETWORK DRIVERS
M: Grant Grundler <grundler@parisc-linux.org> M: Grant Grundler <grundler@parisc-linux.org>
M: Kyle McMartin <kyle@mcmartin.ca>
L: netdev@vger.kernel.org L: netdev@vger.kernel.org
S: Maintained S: Maintained
F: drivers/net/tulip/ F: drivers/net/tulip/
+1 -1
View File
@@ -154,7 +154,7 @@ static int __init adummy_init(void)
err = -ENOMEM; err = -ENOMEM;
goto out; goto out;
} }
atm_dev = atm_dev_register(DEV_LABEL, &adummy_ops, -1, NULL); atm_dev = atm_dev_register(DEV_LABEL, NULL, &adummy_ops, -1, NULL);
if (!atm_dev) { if (!atm_dev) {
printk(KERN_ERR DEV_LABEL ": atm_dev_register() failed\n"); printk(KERN_ERR DEV_LABEL ": atm_dev_register() failed\n");
err = -ENODEV; err = -ENODEV;
+2 -1
View File
@@ -2244,7 +2244,8 @@ static int __devinit amb_probe(struct pci_dev *pci_dev, const struct pci_device_
goto out_reset; goto out_reset;
} }
dev->atm_dev = atm_dev_register (DEV_LABEL, &amb_ops, -1, NULL); dev->atm_dev = atm_dev_register (DEV_LABEL, &pci_dev->dev, &amb_ops, -1,
NULL);
if (!dev->atm_dev) { if (!dev->atm_dev) {
PRINTD (DBG_ERR, "failed to register Madge ATM adapter"); PRINTD (DBG_ERR, "failed to register Madge ATM adapter");
err = -EINVAL; err = -EINVAL;
+1 -1
View File
@@ -366,7 +366,7 @@ static int atmtcp_create(int itf,int persist,struct atm_dev **result)
if (!dev_data) if (!dev_data)
return -ENOMEM; return -ENOMEM;
dev = atm_dev_register(DEV_LABEL,&atmtcp_v_dev_ops,itf,NULL); dev = atm_dev_register(DEV_LABEL,NULL,&atmtcp_v_dev_ops,itf,NULL);
if (!dev) { if (!dev) {
kfree(dev_data); kfree(dev_data);
return itf == -1 ? -ENOMEM : -EBUSY; return itf == -1 ? -ENOMEM : -EBUSY;
+1 -1
View File
@@ -2244,7 +2244,7 @@ static int __devinit eni_init_one(struct pci_dev *pci_dev,
&zeroes); &zeroes);
if (!cpu_zeroes) goto out1; if (!cpu_zeroes) goto out1;
} }
dev = atm_dev_register(DEV_LABEL,&ops,-1,NULL); dev = atm_dev_register(DEV_LABEL, &pci_dev->dev, &ops, -1, NULL);
if (!dev) goto out2; if (!dev) goto out2;
pci_set_drvdata(pci_dev, dev); pci_set_drvdata(pci_dev, dev);
eni_dev->pci_dev = pci_dev; eni_dev->pci_dev = pci_dev;
+1 -1
View File
@@ -1911,7 +1911,7 @@ static int __devinit firestream_init_one (struct pci_dev *pci_dev,
fs_dev, sizeof (struct fs_dev)); fs_dev, sizeof (struct fs_dev));
if (!fs_dev) if (!fs_dev)
goto err_out; goto err_out;
atm_dev = atm_dev_register("fs", &ops, -1, NULL); atm_dev = atm_dev_register("fs", &pci_dev->dev, &ops, -1, NULL);
if (!atm_dev) if (!atm_dev)
goto err_out_free_fs_dev; goto err_out_free_fs_dev;
+7 -7
View File
@@ -2567,14 +2567,14 @@ release:
static int __devinit static int __devinit
fore200e_register(struct fore200e* fore200e) fore200e_register(struct fore200e* fore200e, struct device *parent)
{ {
struct atm_dev* atm_dev; struct atm_dev* atm_dev;
DPRINTK(2, "device %s being registered\n", fore200e->name); DPRINTK(2, "device %s being registered\n", fore200e->name);
atm_dev = atm_dev_register(fore200e->bus->proc_name, &fore200e_ops, -1, atm_dev = atm_dev_register(fore200e->bus->proc_name, parent, &fore200e_ops,
NULL); -1, NULL);
if (atm_dev == NULL) { if (atm_dev == NULL) {
printk(FORE200E "unable to register device %s\n", fore200e->name); printk(FORE200E "unable to register device %s\n", fore200e->name);
return -ENODEV; return -ENODEV;
@@ -2594,9 +2594,9 @@ fore200e_register(struct fore200e* fore200e)
static int __devinit static int __devinit
fore200e_init(struct fore200e* fore200e) fore200e_init(struct fore200e* fore200e, struct device *parent)
{ {
if (fore200e_register(fore200e) < 0) if (fore200e_register(fore200e, parent) < 0)
return -ENODEV; return -ENODEV;
if (fore200e->bus->configure(fore200e) < 0) if (fore200e->bus->configure(fore200e) < 0)
@@ -2662,7 +2662,7 @@ static int __devinit fore200e_sba_probe(struct platform_device *op,
sprintf(fore200e->name, "%s-%d", bus->model_name, index); sprintf(fore200e->name, "%s-%d", bus->model_name, index);
err = fore200e_init(fore200e); err = fore200e_init(fore200e, &op->dev);
if (err < 0) { if (err < 0) {
fore200e_shutdown(fore200e); fore200e_shutdown(fore200e);
kfree(fore200e); kfree(fore200e);
@@ -2740,7 +2740,7 @@ fore200e_pca_detect(struct pci_dev *pci_dev, const struct pci_device_id *pci_ent
sprintf(fore200e->name, "%s-%d", bus->model_name, index); sprintf(fore200e->name, "%s-%d", bus->model_name, index);
err = fore200e_init(fore200e); err = fore200e_init(fore200e, &pci_dev->dev);
if (err < 0) { if (err < 0) {
fore200e_shutdown(fore200e); fore200e_shutdown(fore200e);
goto out_free; goto out_free;
+1 -1
View File
@@ -366,7 +366,7 @@ he_init_one(struct pci_dev *pci_dev, const struct pci_device_id *pci_ent)
goto init_one_failure; goto init_one_failure;
} }
atm_dev = atm_dev_register(DEV_LABEL, &he_ops, -1, NULL); atm_dev = atm_dev_register(DEV_LABEL, &pci_dev->dev, &he_ops, -1, NULL);
if (!atm_dev) { if (!atm_dev) {
err = -ENODEV; err = -ENODEV;
goto init_one_failure; goto init_one_failure;
+2 -1
View File
@@ -2733,7 +2733,8 @@ static int __devinit hrz_probe(struct pci_dev *pci_dev, const struct pci_device_
PRINTD(DBG_INFO, "found Madge ATM adapter (hrz) at: IO %x, IRQ %u, MEM %p", PRINTD(DBG_INFO, "found Madge ATM adapter (hrz) at: IO %x, IRQ %u, MEM %p",
iobase, irq, membase); iobase, irq, membase);
dev->atm_dev = atm_dev_register(DEV_LABEL, &hrz_ops, -1, NULL); dev->atm_dev = atm_dev_register(DEV_LABEL, &pci_dev->dev, &hrz_ops, -1,
NULL);
if (!(dev->atm_dev)) { if (!(dev->atm_dev)) {
PRINTD(DBG_ERR, "failed to register Madge ATM adapter"); PRINTD(DBG_ERR, "failed to register Madge ATM adapter");
err = -EINVAL; err = -EINVAL;
+2 -1
View File
@@ -3698,7 +3698,8 @@ idt77252_init_one(struct pci_dev *pcidev, const struct pci_device_id *id)
goto err_out_iounmap; goto err_out_iounmap;
} }
dev = atm_dev_register("idt77252", &idt77252_ops, -1, NULL); dev = atm_dev_register("idt77252", &pcidev->dev, &idt77252_ops, -1,
NULL);
if (!dev) { if (!dev) {
printk("%s: can't register atm device\n", card->name); printk("%s: can't register atm device\n", card->name);
err = -EIO; err = -EIO;
+1 -1
View File
@@ -3172,7 +3172,7 @@ static int __devinit ia_init_one(struct pci_dev *pdev,
ret = -ENODEV; ret = -ENODEV;
goto err_out_free_iadev; goto err_out_free_iadev;
} }
dev = atm_dev_register(DEV_LABEL, &ops, -1, NULL); dev = atm_dev_register(DEV_LABEL, &pdev->dev, &ops, -1, NULL);
if (!dev) { if (!dev) {
ret = -ENOMEM; ret = -ENOMEM;
goto err_out_disable_dev; goto err_out_disable_dev;
+1 -1
View File
@@ -2588,7 +2588,7 @@ static int __devinit lanai_init_one(struct pci_dev *pci,
return -ENOMEM; return -ENOMEM;
} }
atmdev = atm_dev_register(DEV_LABEL, &ops, -1, NULL); atmdev = atm_dev_register(DEV_LABEL, &pci->dev, &ops, -1, NULL);
if (atmdev == NULL) { if (atmdev == NULL) {
printk(KERN_ERR DEV_LABEL printk(KERN_ERR DEV_LABEL
": couldn't register atm device!\n"); ": couldn't register atm device!\n");
+2 -1
View File
@@ -771,7 +771,8 @@ static int __devinit ns_init_card(int i, struct pci_dev *pcidev)
} }
/* Register device */ /* Register device */
card->atmdev = atm_dev_register("nicstar", &atm_ops, -1, NULL); card->atmdev = atm_dev_register("nicstar", &card->pcidev->dev, &atm_ops,
-1, NULL);
if (card->atmdev == NULL) { if (card->atmdev == NULL) {
printk("nicstar%d: can't register device.\n", i); printk("nicstar%d: can't register device.\n", i);
error = 17; error = 17;
+4 -4
View File
@@ -166,7 +166,7 @@ static irqreturn_t solos_irq(int irq, void *dev_id);
static struct atm_vcc* find_vcc(struct atm_dev *dev, short vpi, int vci); static struct atm_vcc* find_vcc(struct atm_dev *dev, short vpi, int vci);
static int list_vccs(int vci); static int list_vccs(int vci);
static void release_vccs(struct atm_dev *dev); static void release_vccs(struct atm_dev *dev);
static int atm_init(struct solos_card *); static int atm_init(struct solos_card *, struct device *);
static void atm_remove(struct solos_card *); static void atm_remove(struct solos_card *);
static int send_command(struct solos_card *card, int dev, const char *buf, size_t size); static int send_command(struct solos_card *card, int dev, const char *buf, size_t size);
static void solos_bh(unsigned long); static void solos_bh(unsigned long);
@@ -1210,7 +1210,7 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id)
if (db_firmware_upgrade) if (db_firmware_upgrade)
flash_upgrade(card, 3); flash_upgrade(card, 3);
err = atm_init(card); err = atm_init(card, &dev->dev);
if (err) if (err)
goto out_free_irq; goto out_free_irq;
@@ -1233,7 +1233,7 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id)
return err; return err;
} }
static int atm_init(struct solos_card *card) static int atm_init(struct solos_card *card, struct device *parent)
{ {
int i; int i;
@@ -1244,7 +1244,7 @@ static int atm_init(struct solos_card *card)
skb_queue_head_init(&card->tx_queue[i]); skb_queue_head_init(&card->tx_queue[i]);
skb_queue_head_init(&card->cli_queue[i]); skb_queue_head_init(&card->cli_queue[i]);
card->atmdev[i] = atm_dev_register("solos-pci", &fpga_ops, -1, NULL); card->atmdev[i] = atm_dev_register("solos-pci", parent, &fpga_ops, -1, NULL);
if (!card->atmdev[i]) { if (!card->atmdev[i]) {
dev_err(&card->dev->dev, "Could not register ATM device %d\n", i); dev_err(&card->dev->dev, "Could not register ATM device %d\n", i);
atm_remove(card); atm_remove(card);
+1 -1
View File
@@ -1597,7 +1597,7 @@ static int __devinit zatm_init_one(struct pci_dev *pci_dev,
goto out; goto out;
} }
dev = atm_dev_register(DEV_LABEL, &ops, -1, NULL); dev = atm_dev_register(DEV_LABEL, &pci_dev->dev, &ops, -1, NULL);
if (!dev) if (!dev)
goto out_free; goto out_free;
+4 -2
View File
@@ -311,8 +311,10 @@ static void hci_uart_tty_close(struct tty_struct *tty)
if (test_and_clear_bit(HCI_UART_PROTO_SET, &hu->flags)) { if (test_and_clear_bit(HCI_UART_PROTO_SET, &hu->flags)) {
hu->proto->close(hu); hu->proto->close(hu);
hci_unregister_dev(hdev); if (hdev) {
hci_free_dev(hdev); hci_unregister_dev(hdev);
hci_free_dev(hdev);
}
} }
} }
} }
+1
View File
@@ -36,6 +36,7 @@
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_AUTHOR("Evgeniy Polyakov <zbr@ioremap.net>"); MODULE_AUTHOR("Evgeniy Polyakov <zbr@ioremap.net>");
MODULE_DESCRIPTION("Generic userspace <-> kernelspace connector."); MODULE_DESCRIPTION("Generic userspace <-> kernelspace connector.");
MODULE_ALIAS_NET_PF_PROTO(PF_NETLINK, NETLINK_CONNECTOR);
static struct cn_dev cdev; static struct cn_dev cdev;
+1 -1
View File
@@ -242,7 +242,7 @@ struct be_adapter {
u8 __iomem *db; /* Door Bell */ u8 __iomem *db; /* Door Bell */
u8 __iomem *pcicfg; /* PCI config space */ u8 __iomem *pcicfg; /* PCI config space */
spinlock_t mbox_lock; /* For serializing mbox cmds to BE card */ struct mutex mbox_lock; /* For serializing mbox cmds to BE card */
struct be_dma_mem mbox_mem; struct be_dma_mem mbox_mem;
/* Mbox mem is adjusted to align to 16 bytes. The allocated addr /* Mbox mem is adjusted to align to 16 bytes. The allocated addr
* is stored for freeing purpose */ * is stored for freeing purpose */
+45 -30
View File
@@ -467,7 +467,8 @@ int be_cmd_fw_init(struct be_adapter *adapter)
u8 *wrb; u8 *wrb;
int status; int status;
spin_lock(&adapter->mbox_lock); if (mutex_lock_interruptible(&adapter->mbox_lock))
return -1;
wrb = (u8 *)wrb_from_mbox(adapter); wrb = (u8 *)wrb_from_mbox(adapter);
*wrb++ = 0xFF; *wrb++ = 0xFF;
@@ -481,7 +482,7 @@ int be_cmd_fw_init(struct be_adapter *adapter)
status = be_mbox_notify_wait(adapter); status = be_mbox_notify_wait(adapter);
spin_unlock(&adapter->mbox_lock); mutex_unlock(&adapter->mbox_lock);
return status; return status;
} }
@@ -496,7 +497,8 @@ int be_cmd_fw_clean(struct be_adapter *adapter)
if (adapter->eeh_err) if (adapter->eeh_err)
return -EIO; return -EIO;
spin_lock(&adapter->mbox_lock); if (mutex_lock_interruptible(&adapter->mbox_lock))
return -1;
wrb = (u8 *)wrb_from_mbox(adapter); wrb = (u8 *)wrb_from_mbox(adapter);
*wrb++ = 0xFF; *wrb++ = 0xFF;
@@ -510,7 +512,7 @@ int be_cmd_fw_clean(struct be_adapter *adapter)
status = be_mbox_notify_wait(adapter); status = be_mbox_notify_wait(adapter);
spin_unlock(&adapter->mbox_lock); mutex_unlock(&adapter->mbox_lock);
return status; return status;
} }
int be_cmd_eq_create(struct be_adapter *adapter, int be_cmd_eq_create(struct be_adapter *adapter,
@@ -521,7 +523,8 @@ int be_cmd_eq_create(struct be_adapter *adapter,
struct be_dma_mem *q_mem = &eq->dma_mem; struct be_dma_mem *q_mem = &eq->dma_mem;
int status; int status;
spin_lock(&adapter->mbox_lock); if (mutex_lock_interruptible(&adapter->mbox_lock))
return -1;
wrb = wrb_from_mbox(adapter); wrb = wrb_from_mbox(adapter);
req = embedded_payload(wrb); req = embedded_payload(wrb);
@@ -551,7 +554,7 @@ int be_cmd_eq_create(struct be_adapter *adapter,
eq->created = true; eq->created = true;
} }
spin_unlock(&adapter->mbox_lock); mutex_unlock(&adapter->mbox_lock);
return status; return status;
} }
@@ -563,7 +566,8 @@ int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr,
struct be_cmd_req_mac_query *req; struct be_cmd_req_mac_query *req;
int status; int status;
spin_lock(&adapter->mbox_lock); if (mutex_lock_interruptible(&adapter->mbox_lock))
return -1;
wrb = wrb_from_mbox(adapter); wrb = wrb_from_mbox(adapter);
req = embedded_payload(wrb); req = embedded_payload(wrb);
@@ -588,7 +592,7 @@ int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr,
memcpy(mac_addr, resp->mac.addr, ETH_ALEN); memcpy(mac_addr, resp->mac.addr, ETH_ALEN);
} }
spin_unlock(&adapter->mbox_lock); mutex_unlock(&adapter->mbox_lock);
return status; return status;
} }
@@ -672,7 +676,8 @@ int be_cmd_cq_create(struct be_adapter *adapter,
void *ctxt; void *ctxt;
int status; int status;
spin_lock(&adapter->mbox_lock); if (mutex_lock_interruptible(&adapter->mbox_lock))
return -1;
wrb = wrb_from_mbox(adapter); wrb = wrb_from_mbox(adapter);
req = embedded_payload(wrb); req = embedded_payload(wrb);
@@ -726,7 +731,7 @@ int be_cmd_cq_create(struct be_adapter *adapter,
cq->created = true; cq->created = true;
} }
spin_unlock(&adapter->mbox_lock); mutex_unlock(&adapter->mbox_lock);
return status; return status;
} }
@@ -749,7 +754,8 @@ int be_cmd_mccq_create(struct be_adapter *adapter,
void *ctxt; void *ctxt;
int status; int status;
spin_lock(&adapter->mbox_lock); if (mutex_lock_interruptible(&adapter->mbox_lock))
return -1;
wrb = wrb_from_mbox(adapter); wrb = wrb_from_mbox(adapter);
req = embedded_payload(wrb); req = embedded_payload(wrb);
@@ -793,7 +799,7 @@ int be_cmd_mccq_create(struct be_adapter *adapter,
mccq->id = le16_to_cpu(resp->id); mccq->id = le16_to_cpu(resp->id);
mccq->created = true; mccq->created = true;
} }
spin_unlock(&adapter->mbox_lock); mutex_unlock(&adapter->mbox_lock);
return status; return status;
} }
@@ -808,7 +814,8 @@ int be_cmd_txq_create(struct be_adapter *adapter,
void *ctxt; void *ctxt;
int status; int status;
spin_lock(&adapter->mbox_lock); if (mutex_lock_interruptible(&adapter->mbox_lock))
return -1;
wrb = wrb_from_mbox(adapter); wrb = wrb_from_mbox(adapter);
req = embedded_payload(wrb); req = embedded_payload(wrb);
@@ -840,7 +847,7 @@ int be_cmd_txq_create(struct be_adapter *adapter,
txq->created = true; txq->created = true;
} }
spin_unlock(&adapter->mbox_lock); mutex_unlock(&adapter->mbox_lock);
return status; return status;
} }
@@ -855,7 +862,8 @@ int be_cmd_rxq_create(struct be_adapter *adapter,
struct be_dma_mem *q_mem = &rxq->dma_mem; struct be_dma_mem *q_mem = &rxq->dma_mem;
int status; int status;
spin_lock(&adapter->mbox_lock); if (mutex_lock_interruptible(&adapter->mbox_lock))
return -1;
wrb = wrb_from_mbox(adapter); wrb = wrb_from_mbox(adapter);
req = embedded_payload(wrb); req = embedded_payload(wrb);
@@ -882,7 +890,7 @@ int be_cmd_rxq_create(struct be_adapter *adapter,
*rss_id = resp->rss_id; *rss_id = resp->rss_id;
} }
spin_unlock(&adapter->mbox_lock); mutex_unlock(&adapter->mbox_lock);
return status; return status;
} }
@@ -901,7 +909,8 @@ int be_cmd_q_destroy(struct be_adapter *adapter, struct be_queue_info *q,
if (adapter->eeh_err) if (adapter->eeh_err)
return -EIO; return -EIO;
spin_lock(&adapter->mbox_lock); if (mutex_lock_interruptible(&adapter->mbox_lock))
return -1;
wrb = wrb_from_mbox(adapter); wrb = wrb_from_mbox(adapter);
req = embedded_payload(wrb); req = embedded_payload(wrb);
@@ -938,7 +947,7 @@ int be_cmd_q_destroy(struct be_adapter *adapter, struct be_queue_info *q,
status = be_mbox_notify_wait(adapter); status = be_mbox_notify_wait(adapter);
spin_unlock(&adapter->mbox_lock); mutex_unlock(&adapter->mbox_lock);
return status; return status;
} }
@@ -954,7 +963,8 @@ int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, u32 en_flags,
struct be_cmd_req_if_create *req; struct be_cmd_req_if_create *req;
int status; int status;
spin_lock(&adapter->mbox_lock); if (mutex_lock_interruptible(&adapter->mbox_lock))
return -1;
wrb = wrb_from_mbox(adapter); wrb = wrb_from_mbox(adapter);
req = embedded_payload(wrb); req = embedded_payload(wrb);
@@ -980,7 +990,7 @@ int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, u32 en_flags,
*pmac_id = le32_to_cpu(resp->pmac_id); *pmac_id = le32_to_cpu(resp->pmac_id);
} }
spin_unlock(&adapter->mbox_lock); mutex_unlock(&adapter->mbox_lock);
return status; return status;
} }
@@ -994,7 +1004,8 @@ int be_cmd_if_destroy(struct be_adapter *adapter, u32 interface_id)
if (adapter->eeh_err) if (adapter->eeh_err)
return -EIO; return -EIO;
spin_lock(&adapter->mbox_lock); if (mutex_lock_interruptible(&adapter->mbox_lock))
return -1;
wrb = wrb_from_mbox(adapter); wrb = wrb_from_mbox(adapter);
req = embedded_payload(wrb); req = embedded_payload(wrb);
@@ -1009,7 +1020,7 @@ int be_cmd_if_destroy(struct be_adapter *adapter, u32 interface_id)
status = be_mbox_notify_wait(adapter); status = be_mbox_notify_wait(adapter);
spin_unlock(&adapter->mbox_lock); mutex_unlock(&adapter->mbox_lock);
return status; return status;
} }
@@ -1099,7 +1110,8 @@ int be_cmd_get_fw_ver(struct be_adapter *adapter, char *fw_ver)
struct be_cmd_req_get_fw_version *req; struct be_cmd_req_get_fw_version *req;
int status; int status;
spin_lock(&adapter->mbox_lock); if (mutex_lock_interruptible(&adapter->mbox_lock))
return -1;
wrb = wrb_from_mbox(adapter); wrb = wrb_from_mbox(adapter);
req = embedded_payload(wrb); req = embedded_payload(wrb);
@@ -1116,7 +1128,7 @@ int be_cmd_get_fw_ver(struct be_adapter *adapter, char *fw_ver)
strncpy(fw_ver, resp->firmware_version_string, FW_VER_LEN); strncpy(fw_ver, resp->firmware_version_string, FW_VER_LEN);
} }
spin_unlock(&adapter->mbox_lock); mutex_unlock(&adapter->mbox_lock);
return status; return status;
} }
@@ -1361,7 +1373,8 @@ int be_cmd_query_fw_cfg(struct be_adapter *adapter, u32 *port_num,
struct be_cmd_req_query_fw_cfg *req; struct be_cmd_req_query_fw_cfg *req;
int status; int status;
spin_lock(&adapter->mbox_lock); if (mutex_lock_interruptible(&adapter->mbox_lock))
return -1;
wrb = wrb_from_mbox(adapter); wrb = wrb_from_mbox(adapter);
req = embedded_payload(wrb); req = embedded_payload(wrb);
@@ -1380,7 +1393,7 @@ int be_cmd_query_fw_cfg(struct be_adapter *adapter, u32 *port_num,
*caps = le32_to_cpu(resp->function_caps); *caps = le32_to_cpu(resp->function_caps);
} }
spin_unlock(&adapter->mbox_lock); mutex_unlock(&adapter->mbox_lock);
return status; return status;
} }
@@ -1391,7 +1404,8 @@ int be_cmd_reset_function(struct be_adapter *adapter)
struct be_cmd_req_hdr *req; struct be_cmd_req_hdr *req;
int status; int status;
spin_lock(&adapter->mbox_lock); if (mutex_lock_interruptible(&adapter->mbox_lock))
return -1;
wrb = wrb_from_mbox(adapter); wrb = wrb_from_mbox(adapter);
req = embedded_payload(wrb); req = embedded_payload(wrb);
@@ -1404,7 +1418,7 @@ int be_cmd_reset_function(struct be_adapter *adapter)
status = be_mbox_notify_wait(adapter); status = be_mbox_notify_wait(adapter);
spin_unlock(&adapter->mbox_lock); mutex_unlock(&adapter->mbox_lock);
return status; return status;
} }
@@ -1415,7 +1429,8 @@ int be_cmd_rss_config(struct be_adapter *adapter, u8 *rsstable, u16 table_size)
u32 myhash[10]; u32 myhash[10];
int status; int status;
spin_lock(&adapter->mbox_lock); if (mutex_lock_interruptible(&adapter->mbox_lock))
return -1;
wrb = wrb_from_mbox(adapter); wrb = wrb_from_mbox(adapter);
req = embedded_payload(wrb); req = embedded_payload(wrb);
@@ -1435,7 +1450,7 @@ int be_cmd_rss_config(struct be_adapter *adapter, u8 *rsstable, u16 table_size)
status = be_mbox_notify_wait(adapter); status = be_mbox_notify_wait(adapter);
spin_unlock(&adapter->mbox_lock); mutex_unlock(&adapter->mbox_lock);
return status; return status;
} }
+1 -1
View File
@@ -2746,7 +2746,7 @@ static int be_ctrl_init(struct be_adapter *adapter)
} }
memset(mc_cmd_mem->va, 0, mc_cmd_mem->size); memset(mc_cmd_mem->va, 0, mc_cmd_mem->size);
spin_lock_init(&adapter->mbox_lock); mutex_init(&adapter->mbox_lock);
spin_lock_init(&adapter->mcc_lock); spin_lock_init(&adapter->mcc_lock);
spin_lock_init(&adapter->mcc_cq_lock); spin_lock_init(&adapter->mcc_cq_lock);

Some files were not shown because too many files have changed in this diff Show More