Commit 68e3cc02 authored by Satish Kharat's avatar Satish Kharat Committed by Martin K. Petersen

scsi: fnic: RQ enable and then post descriptors

Do RQ enable before posting descriptor. This is needed for later hw
revisions.
Signed-off-by: default avatarSatish Kharat <satishkh@cisco.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 120dbfd9
...@@ -654,7 +654,7 @@ static int fnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -654,7 +654,7 @@ static int fnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
} }
err = fnic_dev_wait(fnic->vdev, vnic_dev_open, err = fnic_dev_wait(fnic->vdev, vnic_dev_open,
vnic_dev_open_done, 0); vnic_dev_open_done, CMD_OPENF_RQ_ENABLE_THEN_POST);
if (err) { if (err) {
shost_printk(KERN_ERR, fnic->lport->host, shost_printk(KERN_ERR, fnic->lport->host,
"vNIC dev open failed, aborting.\n"); "vNIC dev open failed, aborting.\n");
...@@ -799,6 +799,7 @@ static int fnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -799,6 +799,7 @@ static int fnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
/* allocate RQ buffers and post them to RQ*/ /* allocate RQ buffers and post them to RQ*/
for (i = 0; i < fnic->rq_count; i++) { for (i = 0; i < fnic->rq_count; i++) {
vnic_rq_enable(&fnic->rq[i]);
err = vnic_rq_fill(&fnic->rq[i], fnic_alloc_rq_frame); err = vnic_rq_fill(&fnic->rq[i], fnic_alloc_rq_frame);
if (err) { if (err) {
shost_printk(KERN_ERR, fnic->lport->host, shost_printk(KERN_ERR, fnic->lport->host,
...@@ -873,8 +874,6 @@ static int fnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -873,8 +874,6 @@ static int fnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
/* Enable all queues */ /* Enable all queues */
for (i = 0; i < fnic->raw_wq_count; i++) for (i = 0; i < fnic->raw_wq_count; i++)
vnic_wq_enable(&fnic->wq[i]); vnic_wq_enable(&fnic->wq[i]);
for (i = 0; i < fnic->rq_count; i++)
vnic_rq_enable(&fnic->rq[i]);
for (i = 0; i < fnic->wq_copy_count; i++) for (i = 0; i < fnic->wq_copy_count; i++)
vnic_wq_copy_enable(&fnic->wq_copy[i]); vnic_wq_copy_enable(&fnic->wq_copy[i]);
......
...@@ -268,6 +268,8 @@ enum vnic_devcmd_cmd { ...@@ -268,6 +268,8 @@ enum vnic_devcmd_cmd {
/* flags for CMD_OPEN */ /* flags for CMD_OPEN */
#define CMD_OPENF_OPROM 0x1 /* open coming from option rom */ #define CMD_OPENF_OPROM 0x1 /* open coming from option rom */
#define CMD_OPENF_RQ_ENABLE_THEN_POST 0x2
/* flags for CMD_INIT */ /* flags for CMD_INIT */
#define CMD_INITF_DEFAULT_MAC 0x1 /* init with default mac addr */ #define CMD_INITF_DEFAULT_MAC 0x1 /* init with default mac addr */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment