From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Smart Subject: Re: [PATCH kernel] commit 4fbdf9cb ("lpfc: Fix for lun discovery issue with saturn adapter.") Date: Tue, 05 May 2015 11:33:21 -0400 Message-ID: <5548E2C1.3070209@emulex.com> References: <1430209582-23925-1-git-send-email-aik@ozlabs.ru> Reply-To: james.smart@emulex.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1430209582-23925-1-git-send-email-aik@ozlabs.ru> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+glppe-linuxppc-embedded-2=m.gmane.org@lists.ozlabs.org Sender: "Linuxppc-dev" To: Alexey Kardashevskiy Cc: linux-scsi@vger.kernel.org, "James E . J . Bottomley" , linux-kernel@vger.kernel.org, Paul Mackerras , linuxppc-dev@lists.ozlabs.org, Sebastian Herbszt List-Id: linux-scsi@vger.kernel.org UmV2aWV3ZWQtQnk6IEphbWVzIFNtYXJ0IDxqYW1lcy5zbWFydEBlbXVsZXguY29tPgoKCkFsZXhl eSwgU2ViYXN0aWFuLAoKWWVzIC0gdGhpcyBzZWN0aW9uIG5lZWRzIHRvIGJlIHJldmVydGVkLiAg VGhpcyBwYXRjaCBpcyBnb29kLgoKLS0gamFtZXMgcwoKCgoKT24gNC8yOC8yMDE1IDQ6MjYgQU0s IEFsZXhleSBLYXJkYXNoZXZza2l5IHdyb3RlOgo+IFRoaXMgcmV2ZXJ0cyA0ZmJkZjljYiBpcyBi cmVha3MgTFBGQyBvbiBQT1dFUjcgbWFjaGluZSwgYmlnIGVuZGlhbiBrZXJuZWwuCj4KPiBUaGlz IGlzIHRoZSBoYXJkd2FyZSB1c2VkIGZvciB2ZXJpZmljYXRpb246Cj4gMDAwNTowMTowMC4wIEZp YnJlIENoYW5uZWwgWzBjMDRdOiBFbXVsZXggQ29ycG9yYXRpb24gU2F0dXJuLVg6IExpZ2h0UHVs c2UgRmlicmUgQ2hhbm5lbCBIb3N0IEFkYXB0ZXIgWzEwZGY6ZjEwMF0gKHJldiAwMykKPiAwMDA1 OjAxOjAwLjEgRmlicmUgQ2hhbm5lbCBbMGMwNF06IEVtdWxleCBDb3Jwb3JhdGlvbiBTYXR1cm4t WDogTGlnaHRQdWxzZSBGaWJyZSBDaGFubmVsIEhvc3QgQWRhcHRlciBbMTBkZjpmMTAwXSAocmV2 IDAzKQo+Cj4gU2lnbmVkLW9mZi1ieTogQWxleGV5IEthcmRhc2hldnNraXkgPGFpa0BvemxhYnMu cnU+Cj4gLS0tCj4gICBkcml2ZXJzL3Njc2kvbHBmYy9scGZjX3Njc2kuYyB8IDQxICsrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gICAxIGZpbGUgY2hhbmdlZCwgMjEg aW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9z Y3NpL2xwZmMvbHBmY19zY3NpLmMgYi9kcml2ZXJzL3Njc2kvbHBmYy9scGZjX3Njc2kuYwo+IGlu ZGV4IGNiNzNjZjkuLmMxNDBmOTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9zY3NpL2xwZmMvbHBm Y19zY3NpLmMKPiArKysgYi9kcml2ZXJzL3Njc2kvbHBmYy9scGZjX3Njc2kuYwo+IEBAIC0xMTMw LDI1ICsxMTMwLDYgQEAgbHBmY19yZWxlYXNlX3Njc2lfYnVmKHN0cnVjdCBscGZjX2hiYSAqcGhi YSwgc3RydWN0IGxwZmNfc2NzaV9idWYgKnBzYikKPiAgIH0KPiAgIAo+ICAgLyoqCj4gLSAqIGxw ZmNfZmNwY21kX3RvX2lvY2IgLSBjb3B5IHRoZSBmY3BfY21kIGRhdGEgaW50byB0aGUgSU9DQgo+ IC0gKiBAZGF0YTogQSBwb2ludGVyIHRvIHRoZSBpbW1lZGlhdGUgY29tbWFuZCBkYXRhIHBvcnRp b24gb2YgdGhlIElPQ0IuCj4gLSAqIEBmY3BfY21uZDogVGhlIEZDUCBDb21tYW5kIHRoYXQgaXMg cHJvdmlkZWQgYnkgdGhlIFNDU0kgbGF5ZXIuCj4gLSAqCj4gLSAqIFRoZSByb3V0aW5lIGNvcGll cyB0aGUgZW50aXJlIEZDUCBjb21tYW5kIGZyb20gQGZjcF9jbW5kIHRvIEBkYXRhIHdoaWxlCj4g LSAqIGJ5dGUgc3dhcHBpbmcgdGhlIGRhdGEgdG8gYmlnIGVuZGlhbiBmb3JtYXQgZm9yIHRyYW5z bWlzc2lvbiBvbiB0aGUgd2lyZS4KPiAtICoqLwo+IC1zdGF0aWMgdm9pZAo+IC1scGZjX2ZjcGNt ZF90b19pb2NiKHVpbnQ4X3QgKmRhdGEsIHN0cnVjdCBmY3BfY21uZCAqZmNwX2NtbmQpCj4gLXsK PiAtCWludCBpLCBqOwo+IC0KPiAtCWZvciAoaSA9IDAsIGogPSAwOyBpIDwgc2l6ZW9mKHN0cnVj dCBmY3BfY21uZCk7Cj4gLQkgICAgIGkgKz0gc2l6ZW9mKHVpbnQzMl90KSwgaisrKSB7Cj4gLQkJ KCh1aW50MzJfdCAqKWRhdGEpW2pdID0gY3B1X3RvX2JlMzIoKCh1aW50MzJfdCAqKWZjcF9jbW5k KVtqXSk7Cj4gLQl9Cj4gLX0KPiAtCj4gLS8qKgo+ICAgICogbHBmY19zY3NpX3ByZXBfZG1hX2J1 Zl9zMyAtIERNQSBtYXBwaW5nIGZvciBzY3NpIGJ1ZmZlciB0byBTTEkzIElGIHNwZWMKPiAgICAq IEBwaGJhOiBUaGUgSGJhIGZvciB3aGljaCB0aGlzIGNhbGwgaXMgYmVpbmcgZXhlY3V0ZWQuCj4g ICAgKiBAbHBmY19jbWQ6IFRoZSBzY3NpIGJ1ZmZlciB3aGljaCBpcyBnb2luZyB0byBiZSBtYXBw ZWQuCj4gQEAgLTEyODMsNyArMTI2NCw2IEBAIGxwZmNfc2NzaV9wcmVwX2RtYV9idWZfczMoc3Ry dWN0IGxwZmNfaGJhICpwaGJhLCBzdHJ1Y3QgbHBmY19zY3NpX2J1ZiAqbHBmY19jbWQpCj4gICAJ ICogd2UgbmVlZCB0byBzZXQgd29yZCA0IG9mIElPQ0IgaGVyZQo+ICAgCSAqLwo+ICAgCWlvY2Jf Y21kLT51bi5mY3BpLmZjcGlfcGFybSA9IHNjc2lfYnVmZmxlbihzY3NpX2NtbmQpOwo+IC0JbHBm Y19mY3BjbWRfdG9faW9jYihpb2NiX2NtZC0+dW5zbGkzLmZjcF9leHQuaWNkLCBmY3BfY21uZCk7 Cj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4gICAKPiBAQCAtNDE0Nyw2ICs0MTI3LDI0IEBAIGxwZmNf c2NzaV9jbWRfaW9jYl9jbXBsKHN0cnVjdCBscGZjX2hiYSAqcGhiYSwgc3RydWN0IGxwZmNfaW9j YnEgKnBJb2NiSW4sCj4gICB9Cj4gICAKPiAgIC8qKgo+ICsgKiBscGZjX2ZjcGNtZF90b19pb2Ni IC0gY29weSB0aGUgZmNwX2NtZCBkYXRhIGludG8gdGhlIElPQ0IKPiArICogQGRhdGE6IEEgcG9p bnRlciB0byB0aGUgaW1tZWRpYXRlIGNvbW1hbmQgZGF0YSBwb3J0aW9uIG9mIHRoZSBJT0NCLgo+ ICsgKiBAZmNwX2NtbmQ6IFRoZSBGQ1AgQ29tbWFuZCB0aGF0IGlzIHByb3ZpZGVkIGJ5IHRoZSBT Q1NJIGxheWVyLgo+ICsgKgo+ICsgKiBUaGUgcm91dGluZSBjb3BpZXMgdGhlIGVudGlyZSBGQ1Ag Y29tbWFuZCBmcm9tIEBmY3BfY21uZCB0byBAZGF0YSB3aGlsZQo+ICsgKiBieXRlIHN3YXBwaW5n IHRoZSBkYXRhIHRvIGJpZyBlbmRpYW4gZm9ybWF0IGZvciB0cmFuc21pc3Npb24gb24gdGhlIHdp cmUuCj4gKyAqKi8KPiArc3RhdGljIHZvaWQKPiArbHBmY19mY3BjbWRfdG9faW9jYih1aW50OF90 ICpkYXRhLCBzdHJ1Y3QgZmNwX2NtbmQgKmZjcF9jbW5kKQo+ICt7Cj4gKwlpbnQgaSwgajsKPiAr CWZvciAoaSA9IDAsIGogPSAwOyBpIDwgc2l6ZW9mKHN0cnVjdCBmY3BfY21uZCk7Cj4gKwkgICAg IGkgKz0gc2l6ZW9mKHVpbnQzMl90KSwgaisrKSB7Cj4gKwkJKCh1aW50MzJfdCAqKWRhdGEpW2pd ID0gY3B1X3RvX2JlMzIoKCh1aW50MzJfdCAqKWZjcF9jbW5kKVtqXSk7Cj4gKwl9Cj4gK30KPiAr Cj4gKy8qKgo+ICAgICogbHBmY19zY3NpX3ByZXBfY21uZCAtIFdyYXBwZXIgZnVuYyBmb3IgY29u dmVydCBzY3NpIGNtbmQgdG8gRkNQIGluZm8gdW5pdAo+ICAgICogQHZwb3J0OiBUaGUgdmlydHVh bCBwb3J0IGZvciB3aGljaCB0aGlzIGNhbGwgaXMgYmVpbmcgZXhlY3V0ZWQuCj4gICAgKiBAbHBm Y19jbWQ6IFRoZSBzY3NpIGNvbW1hbmQgd2hpY2ggbmVlZHMgdG8gc2VuZC4KPiBAQCAtNDIyNSw2 ICs0MjIzLDkgQEAgbHBmY19zY3NpX3ByZXBfY21uZChzdHJ1Y3QgbHBmY192cG9ydCAqdnBvcnQs IHN0cnVjdCBscGZjX3Njc2lfYnVmICpscGZjX2NtZCwKPiAgIAkJZmNwX2NtbmQtPmZjcENudGwz ID0gMDsKPiAgIAkJcGhiYS0+ZmM0Q29udHJvbFJlcXVlc3RzKys7Cj4gICAJfQo+ICsJaWYgKHBo YmEtPnNsaV9yZXYgPT0gMyAmJgo+ICsJICAgICEocGhiYS0+c2xpM19vcHRpb25zICYgTFBGQ19T TEkzX0JHX0VOQUJMRUQpKQo+ICsJCWxwZmNfZmNwY21kX3RvX2lvY2IoaW9jYl9jbWQtPnVuc2xp My5mY3BfZXh0LmljZCwgZmNwX2NtbmQpOwo+ICAgCS8qCj4gICAJICogRmluaXNoIGluaXRpYWxp emluZyB0aG9zZSBJT0NCIGZpZWxkcyB0aGF0IGFyZSBpbmRlcGVuZGVudAo+ICAgCSAqIG9mIHRo ZSBzY3NpX2NtbmQgcmVxdWVzdF9idWZmZXIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkxpbnV4cHBjLWRldiBtYWlsaW5nIGxpc3QKTGludXhwcGMtZGV2 QGxpc3RzLm96bGFicy5vcmcKaHR0cHM6Ly9saXN0cy5vemxhYnMub3JnL2xpc3RpbmZvL2xpbnV4 cHBjLWRldg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from CMRELAYP1.ad.emulex.com (unknown [138.239.112.140]) by lists.ozlabs.org (Postfix) with ESMTP id AE6951A0010 for ; Wed, 6 May 2015 01:50:35 +1000 (AEST) Message-ID: <5548E2C1.3070209@emulex.com> Date: Tue, 05 May 2015 11:33:21 -0400 From: James Smart Reply-To: james.smart@emulex.com MIME-Version: 1.0 To: Alexey Kardashevskiy Subject: Re: [PATCH kernel] commit 4fbdf9cb ("lpfc: Fix for lun discovery issue with saturn adapter.") References: <1430209582-23925-1-git-send-email-aik@ozlabs.ru> In-Reply-To: <1430209582-23925-1-git-send-email-aik@ozlabs.ru> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Cc: linux-scsi@vger.kernel.org, "James E . J . Bottomley" , linux-kernel@vger.kernel.org, Paul Mackerras , linuxppc-dev@lists.ozlabs.org, Sebastian Herbszt List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reviewed-By: James Smart Alexey, Sebastian, Yes - this section needs to be reverted. This patch is good. -- james s On 4/28/2015 4:26 AM, Alexey Kardashevskiy wrote: > This reverts 4fbdf9cb is breaks LPFC on POWER7 machine, big endian kernel. > > This is the hardware used for verification: > 0005:01:00.0 Fibre Channel [0c04]: Emulex Corporation Saturn-X: LightPulse Fibre Channel Host Adapter [10df:f100] (rev 03) > 0005:01:00.1 Fibre Channel [0c04]: Emulex Corporation Saturn-X: LightPulse Fibre Channel Host Adapter [10df:f100] (rev 03) > > Signed-off-by: Alexey Kardashevskiy > --- > drivers/scsi/lpfc/lpfc_scsi.c | 41 +++++++++++++++++++++-------------------- > 1 file changed, 21 insertions(+), 20 deletions(-) > > diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c > index cb73cf9..c140f99 100644 > --- a/drivers/scsi/lpfc/lpfc_scsi.c > +++ b/drivers/scsi/lpfc/lpfc_scsi.c > @@ -1130,25 +1130,6 @@ lpfc_release_scsi_buf(struct lpfc_hba *phba, struct lpfc_scsi_buf *psb) > } > > /** > - * lpfc_fcpcmd_to_iocb - copy the fcp_cmd data into the IOCB > - * @data: A pointer to the immediate command data portion of the IOCB. > - * @fcp_cmnd: The FCP Command that is provided by the SCSI layer. > - * > - * The routine copies the entire FCP command from @fcp_cmnd to @data while > - * byte swapping the data to big endian format for transmission on the wire. > - **/ > -static void > -lpfc_fcpcmd_to_iocb(uint8_t *data, struct fcp_cmnd *fcp_cmnd) > -{ > - int i, j; > - > - for (i = 0, j = 0; i < sizeof(struct fcp_cmnd); > - i += sizeof(uint32_t), j++) { > - ((uint32_t *)data)[j] = cpu_to_be32(((uint32_t *)fcp_cmnd)[j]); > - } > -} > - > -/** > * lpfc_scsi_prep_dma_buf_s3 - DMA mapping for scsi buffer to SLI3 IF spec > * @phba: The Hba for which this call is being executed. > * @lpfc_cmd: The scsi buffer which is going to be mapped. > @@ -1283,7 +1264,6 @@ lpfc_scsi_prep_dma_buf_s3(struct lpfc_hba *phba, struct lpfc_scsi_buf *lpfc_cmd) > * we need to set word 4 of IOCB here > */ > iocb_cmd->un.fcpi.fcpi_parm = scsi_bufflen(scsi_cmnd); > - lpfc_fcpcmd_to_iocb(iocb_cmd->unsli3.fcp_ext.icd, fcp_cmnd); > return 0; > } > > @@ -4147,6 +4127,24 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn, > } > > /** > + * lpfc_fcpcmd_to_iocb - copy the fcp_cmd data into the IOCB > + * @data: A pointer to the immediate command data portion of the IOCB. > + * @fcp_cmnd: The FCP Command that is provided by the SCSI layer. > + * > + * The routine copies the entire FCP command from @fcp_cmnd to @data while > + * byte swapping the data to big endian format for transmission on the wire. > + **/ > +static void > +lpfc_fcpcmd_to_iocb(uint8_t *data, struct fcp_cmnd *fcp_cmnd) > +{ > + int i, j; > + for (i = 0, j = 0; i < sizeof(struct fcp_cmnd); > + i += sizeof(uint32_t), j++) { > + ((uint32_t *)data)[j] = cpu_to_be32(((uint32_t *)fcp_cmnd)[j]); > + } > +} > + > +/** > * lpfc_scsi_prep_cmnd - Wrapper func for convert scsi cmnd to FCP info unit > * @vport: The virtual port for which this call is being executed. > * @lpfc_cmd: The scsi command which needs to send. > @@ -4225,6 +4223,9 @@ lpfc_scsi_prep_cmnd(struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd, > fcp_cmnd->fcpCntl3 = 0; > phba->fc4ControlRequests++; > } > + if (phba->sli_rev == 3 && > + !(phba->sli3_options & LPFC_SLI3_BG_ENABLED)) > + lpfc_fcpcmd_to_iocb(iocb_cmd->unsli3.fcp_ext.icd, fcp_cmnd); > /* > * Finish initializing those IOCB fields that are independent > * of the scsi_cmnd request_buffer From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760252AbbEEQLY (ORCPT ); Tue, 5 May 2015 12:11:24 -0400 Received: from cmrelayp1.emulex.com ([138.239.112.140]:60992 "EHLO CMRELAYP1.ad.emulex.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S2993467AbbEEPuY (ORCPT ); Tue, 5 May 2015 11:50:24 -0400 X-Greylist: delayed 1021 seconds by postgrey-1.27 at vger.kernel.org; Tue, 05 May 2015 11:50:24 EDT Message-ID: <5548E2C1.3070209@emulex.com> Date: Tue, 05 May 2015 11:33:21 -0400 From: James Smart Reply-To: james.smart@emulex.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20121026 Thunderbird/16.0.2 MIME-Version: 1.0 To: Alexey Kardashevskiy CC: linuxppc-dev@lists.ozlabs.org, Benjamin Herrenschmidt , Paul Mackerras , "James E . J . Bottomley" , linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, Sebastian Herbszt Subject: Re: [PATCH kernel] commit 4fbdf9cb ("lpfc: Fix for lun discovery issue with saturn adapter.") References: <1430209582-23925-1-git-send-email-aik@ozlabs.ru> In-Reply-To: <1430209582-23925-1-git-send-email-aik@ozlabs.ru> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 05 May 2015 15:33:23.0544 (UTC) FILETIME=[D2A92580:01D08748] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Reviewed-By: James Smart Alexey, Sebastian, Yes - this section needs to be reverted. This patch is good. -- james s On 4/28/2015 4:26 AM, Alexey Kardashevskiy wrote: > This reverts 4fbdf9cb is breaks LPFC on POWER7 machine, big endian kernel. > > This is the hardware used for verification: > 0005:01:00.0 Fibre Channel [0c04]: Emulex Corporation Saturn-X: LightPulse Fibre Channel Host Adapter [10df:f100] (rev 03) > 0005:01:00.1 Fibre Channel [0c04]: Emulex Corporation Saturn-X: LightPulse Fibre Channel Host Adapter [10df:f100] (rev 03) > > Signed-off-by: Alexey Kardashevskiy > --- > drivers/scsi/lpfc/lpfc_scsi.c | 41 +++++++++++++++++++++-------------------- > 1 file changed, 21 insertions(+), 20 deletions(-) > > diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c > index cb73cf9..c140f99 100644 > --- a/drivers/scsi/lpfc/lpfc_scsi.c > +++ b/drivers/scsi/lpfc/lpfc_scsi.c > @@ -1130,25 +1130,6 @@ lpfc_release_scsi_buf(struct lpfc_hba *phba, struct lpfc_scsi_buf *psb) > } > > /** > - * lpfc_fcpcmd_to_iocb - copy the fcp_cmd data into the IOCB > - * @data: A pointer to the immediate command data portion of the IOCB. > - * @fcp_cmnd: The FCP Command that is provided by the SCSI layer. > - * > - * The routine copies the entire FCP command from @fcp_cmnd to @data while > - * byte swapping the data to big endian format for transmission on the wire. > - **/ > -static void > -lpfc_fcpcmd_to_iocb(uint8_t *data, struct fcp_cmnd *fcp_cmnd) > -{ > - int i, j; > - > - for (i = 0, j = 0; i < sizeof(struct fcp_cmnd); > - i += sizeof(uint32_t), j++) { > - ((uint32_t *)data)[j] = cpu_to_be32(((uint32_t *)fcp_cmnd)[j]); > - } > -} > - > -/** > * lpfc_scsi_prep_dma_buf_s3 - DMA mapping for scsi buffer to SLI3 IF spec > * @phba: The Hba for which this call is being executed. > * @lpfc_cmd: The scsi buffer which is going to be mapped. > @@ -1283,7 +1264,6 @@ lpfc_scsi_prep_dma_buf_s3(struct lpfc_hba *phba, struct lpfc_scsi_buf *lpfc_cmd) > * we need to set word 4 of IOCB here > */ > iocb_cmd->un.fcpi.fcpi_parm = scsi_bufflen(scsi_cmnd); > - lpfc_fcpcmd_to_iocb(iocb_cmd->unsli3.fcp_ext.icd, fcp_cmnd); > return 0; > } > > @@ -4147,6 +4127,24 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn, > } > > /** > + * lpfc_fcpcmd_to_iocb - copy the fcp_cmd data into the IOCB > + * @data: A pointer to the immediate command data portion of the IOCB. > + * @fcp_cmnd: The FCP Command that is provided by the SCSI layer. > + * > + * The routine copies the entire FCP command from @fcp_cmnd to @data while > + * byte swapping the data to big endian format for transmission on the wire. > + **/ > +static void > +lpfc_fcpcmd_to_iocb(uint8_t *data, struct fcp_cmnd *fcp_cmnd) > +{ > + int i, j; > + for (i = 0, j = 0; i < sizeof(struct fcp_cmnd); > + i += sizeof(uint32_t), j++) { > + ((uint32_t *)data)[j] = cpu_to_be32(((uint32_t *)fcp_cmnd)[j]); > + } > +} > + > +/** > * lpfc_scsi_prep_cmnd - Wrapper func for convert scsi cmnd to FCP info unit > * @vport: The virtual port for which this call is being executed. > * @lpfc_cmd: The scsi command which needs to send. > @@ -4225,6 +4223,9 @@ lpfc_scsi_prep_cmnd(struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd, > fcp_cmnd->fcpCntl3 = 0; > phba->fc4ControlRequests++; > } > + if (phba->sli_rev == 3 && > + !(phba->sli3_options & LPFC_SLI3_BG_ENABLED)) > + lpfc_fcpcmd_to_iocb(iocb_cmd->unsli3.fcp_ext.icd, fcp_cmnd); > /* > * Finish initializing those IOCB fields that are independent > * of the scsi_cmnd request_buffer