From: Maurizio Lombardi <mlomb...@redhat.com>

cc1: warnings being treated as errors
drivers/scsi/lpfc/lpfc_init.c: In function 'lpfc_get_wwpn':
drivers/scsi/lpfc/lpfc_init.c:3253: error: integer constant is too large for 
'long' type

Signed-off-by: Maurizio Lombardi <mlomb...@redhat.com>
Signed-off-by: James Smart <james.sm...@broadcom.com>
Reviewed-by: Johannes Thumshirn <jthumsh...@suse.de>

---
v2:
  use rol64()
---
 drivers/scsi/lpfc/lpfc_init.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index 1b81f734e3ef..7e7ae786121b 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -37,6 +37,7 @@
 #include <linux/miscdevice.h>
 #include <linux/percpu.h>
 #include <linux/msi.h>
+#include <linux/bitops.h>
 
 #include <scsi/scsi.h>
 #include <scsi/scsi_device.h>
@@ -3728,9 +3729,7 @@ lpfc_get_wwpn(struct lpfc_hba *phba)
        if (phba->sli_rev == LPFC_SLI_REV4)
                return be64_to_cpu(wwn);
        else
-               return (((wwn & 0xffffffff00000000) >> 32) |
-                       ((wwn & 0x00000000ffffffff) << 32));
-
+               return rol64(wwn, 32);
 }
 
 /**
-- 
2.13.1

Reply via email to