]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/scsi/bnx2fc/bnx2fc_fcoe.c
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
[linux.git] / drivers / scsi / bnx2fc / bnx2fc_fcoe.c
index b0bc5ffee903ad8b497886c0c445700496630110..67405c628864875bab6e56beb2a67846fa690ead 100644 (file)
@@ -1,10 +1,10 @@
-/* bnx2fc_fcoe.c: QLogic NetXtreme II Linux FCoE offload driver.
+/* bnx2fc_fcoe.c: QLogic Linux FCoE offload driver.
  * This file contains the code that interacts with libfc, libfcoe,
  * cnic modules to create FCoE instances, send/receive non-offloaded
  * FIP/FCoE packets, listen to link events etc.
  *
- * Copyright (c) 2008 - 2013 Broadcom Corporation
- * Copyright (c) 2014, QLogic Corporation
+ * Copyright (c) 2008-2013 Broadcom Corporation
+ * Copyright (c) 2014-2015 QLogic Corporation
  *
  * 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
@@ -23,16 +23,16 @@ DEFINE_PER_CPU(struct bnx2fc_percpu_s, bnx2fc_percpu);
 
 #define DRV_MODULE_NAME                "bnx2fc"
 #define DRV_MODULE_VERSION     BNX2FC_VERSION
-#define DRV_MODULE_RELDATE     "Dec 11, 2013"
+#define DRV_MODULE_RELDATE     "October 15, 2015"
 
 
 static char version[] =
-               "QLogic NetXtreme II FCoE Driver " DRV_MODULE_NAME \
+               "QLogic FCoE Driver " DRV_MODULE_NAME \
                " v" DRV_MODULE_VERSION " (" DRV_MODULE_RELDATE ")\n";
 
 
 MODULE_AUTHOR("Bhanu Prakash Gollapudi <bprakash@broadcom.com>");
-MODULE_DESCRIPTION("QLogic NetXtreme II BCM57710 FCoE Driver");
+MODULE_DESCRIPTION("QLogic FCoE Driver");
 MODULE_LICENSE("GPL");
 MODULE_VERSION(DRV_MODULE_VERSION);
 
@@ -2091,7 +2091,7 @@ static int __bnx2fc_enable(struct fcoe_ctlr *ctlr)
 {
        struct bnx2fc_interface *interface = fcoe_ctlr_priv(ctlr);
        struct bnx2fc_hba *hba;
-       struct cnic_fc_npiv_tbl npiv_tbl;
+       struct cnic_fc_npiv_tbl *npiv_tbl;
        struct fc_lport *lport;
 
        if (interface->enabled == false) {
@@ -2123,11 +2123,16 @@ static int __bnx2fc_enable(struct fcoe_ctlr *ctlr)
        if (!hba->cnic->get_fc_npiv_tbl)
                goto done;
 
-       memset(&npiv_tbl, 0, sizeof(npiv_tbl));
-       if (hba->cnic->get_fc_npiv_tbl(hba->cnic, &npiv_tbl))
+       npiv_tbl = kzalloc(sizeof(struct cnic_fc_npiv_tbl), GFP_KERNEL);
+       if (!npiv_tbl)
                goto done;
 
-       bnx2fc_npiv_create_vports(lport, &npiv_tbl);
+       if (hba->cnic->get_fc_npiv_tbl(hba->cnic, npiv_tbl))
+               goto done_free;
+
+       bnx2fc_npiv_create_vports(lport, npiv_tbl);
+done_free:
+       kfree(npiv_tbl);
 done:
        return 0;
 }
@@ -2862,7 +2867,6 @@ static struct scsi_host_template bnx2fc_shost_template = {
        .use_clustering         = ENABLE_CLUSTERING,
        .sg_tablesize           = BNX2FC_MAX_BDS_PER_CMD,
        .max_sectors            = 1024,
-       .use_blk_tags           = 1,
        .track_queue_depth      = 1,
 };