[SCSI] bnx2fc: Map the doorbell register between offload and enable requests
authorBhanu Prakash Gollapudi <bprakash@broadcom.com>
Sat, 22 Dec 2012 03:40:31 +0000 (19:40 -0800)
committerJames Bottomley <JBottomley@Parallels.com>
Tue, 29 Jan 2013 23:48:48 +0000 (10:48 +1100)
commite7f4fed5fa96d3da12c3e1c8ed9f536235eec3b5
treea13ac74c4e452af823c18f06e3b9891d1f497ff7
parent26bf62a3dd0752f29609b2dea85a4f0b806da315
[SCSI] bnx2fc: Map the doorbell register between offload and enable requests

We used to map doorbell register after FW enable request is complete.
This causes a race condition when unsolicited event is received, and FW
sends a CQE for it. Since the doorbell is not mapped, driver does not
arm CQ, which means FW will not notify the driver for further CQ
completions.  To resolve this, map the doorbell between offload and
enable, so that driver is ready to receive the unsolicited packets and
arm the CQ as soon as FW enable is performed.

Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/bnx2fc/bnx2fc.h
drivers/scsi/bnx2fc/bnx2fc_hwi.c
drivers/scsi/bnx2fc/bnx2fc_tgt.c