Merge branch 'remotes/lorenzo/pci/mediatek'
[linux-2.6-microblaze.git] / drivers / scsi / qla1280.c
index 6856dfd..e5760c4 100644 (file)
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
 /******************************************************************************
 *                  QLOGIC LINUX SOFTWARE
 *
@@ -6,16 +7,6 @@
 * Copyright (C) 2001-2004 Jes Sorensen, Wild Open Source Inc.
 * Copyright (C) 2003-2004 Christoph Hellwig
 *
-* This program is free software; you can redistribute it and/or modify it
-* under the terms of the GNU General Public License as published by the
-* Free Software Foundation; either version 2, or (at your option) any
-* later version.
-*
-* This program is distributed in the hope that it will be useful, but
-* WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-* General Public License for more details.
-*
 ******************************************************************************/
 #define QLA1280_VERSION      "3.27.1"
 /*****************************************************************************
@@ -3004,8 +2995,6 @@ qla1280_64bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
        sp->flags |= SRB_SENT;
        ha->actthreads++;
        WRT_REG_WORD(&reg->mailbox4, ha->req_ring_index);
-       /* Enforce mmio write ordering; see comment in qla1280_isp_cmd(). */
-       mmiowb();
 
  out:
        if (status)
@@ -3254,8 +3243,6 @@ qla1280_32bit_start_scsi(struct scsi_qla_host *ha, struct srb * sp)
        sp->flags |= SRB_SENT;
        ha->actthreads++;
        WRT_REG_WORD(&reg->mailbox4, ha->req_ring_index);
-       /* Enforce mmio write ordering; see comment in qla1280_isp_cmd(). */
-       mmiowb();
 
 out:
        if (status)
@@ -3367,19 +3354,8 @@ qla1280_isp_cmd(struct scsi_qla_host *ha)
 
        /*
         * Update request index to mailbox4 (Request Queue In).
-        * The mmiowb() ensures that this write is ordered with writes by other
-        * CPUs.  Without the mmiowb(), it is possible for the following:
-        *    CPUA posts write of index 5 to mailbox4
-        *    CPUA releases host lock
-        *    CPUB acquires host lock
-        *    CPUB posts write of index 6 to mailbox4
-        *    On PCI bus, order reverses and write of 6 posts, then index 5,
-        *       causing chip to issue full queue of stale commands
-        * The mmiowb() prevents future writes from crossing the barrier.
-        * See Documentation/driver-api/device-io.rst for more information.
         */
        WRT_REG_WORD(&reg->mailbox4, ha->req_ring_index);
-       mmiowb();
 
        LEAVE("qla1280_isp_cmd");
 }