aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bnx2fc
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/bnx2fc')
-rw-r--r--drivers/scsi/bnx2fc/Kconfig3
-rw-r--r--drivers/scsi/bnx2fc/bnx2fc.h4
-rw-r--r--drivers/scsi/bnx2fc/bnx2fc_fcoe.c6
3 files changed, 8 insertions, 5 deletions
diff --git a/drivers/scsi/bnx2fc/Kconfig b/drivers/scsi/bnx2fc/Kconfig
index 6a38080e35e..cfcad8bde7c 100644
--- a/drivers/scsi/bnx2fc/Kconfig
+++ b/drivers/scsi/bnx2fc/Kconfig
@@ -2,7 +2,8 @@ config SCSI_BNX2X_FCOE
2 tristate "Broadcom NetXtreme II FCoE support" 2 tristate "Broadcom NetXtreme II FCoE support"
3 depends on PCI 3 depends on PCI
4 select NETDEVICES 4 select NETDEVICES
5 select NETDEV_1000 5 select ETHERNET
6 select NET_VENDOR_BROADCOM
6 select LIBFC 7 select LIBFC
7 select LIBFCOE 8 select LIBFCOE
8 select CNIC 9 select CNIC
diff --git a/drivers/scsi/bnx2fc/bnx2fc.h b/drivers/scsi/bnx2fc/bnx2fc.h
index d882a2d1aac..63de1c7cd0c 100644
--- a/drivers/scsi/bnx2fc/bnx2fc.h
+++ b/drivers/scsi/bnx2fc/bnx2fc.h
@@ -58,7 +58,7 @@
58 58
59#include "57xx_hsi_bnx2fc.h" 59#include "57xx_hsi_bnx2fc.h"
60#include "bnx2fc_debug.h" 60#include "bnx2fc_debug.h"
61#include "../../net/cnic_if.h" 61#include "../../net/ethernet/broadcom/cnic_if.h"
62#include "bnx2fc_constants.h" 62#include "bnx2fc_constants.h"
63 63
64#define BNX2FC_NAME "bnx2fc" 64#define BNX2FC_NAME "bnx2fc"
@@ -81,7 +81,7 @@
81#define BNX2FC_RQ_WQES_MAX 16 81#define BNX2FC_RQ_WQES_MAX 16
82#define BNX2FC_CQ_WQES_MAX (BNX2FC_SQ_WQES_MAX + BNX2FC_RQ_WQES_MAX) 82#define BNX2FC_CQ_WQES_MAX (BNX2FC_SQ_WQES_MAX + BNX2FC_RQ_WQES_MAX)
83 83
84#define BNX2FC_NUM_MAX_SESS 128 84#define BNX2FC_NUM_MAX_SESS 1024
85#define BNX2FC_NUM_MAX_SESS_LOG (ilog2(BNX2FC_NUM_MAX_SESS)) 85#define BNX2FC_NUM_MAX_SESS_LOG (ilog2(BNX2FC_NUM_MAX_SESS))
86 86
87#define BNX2FC_MAX_OUTSTANDING_CMNDS 2048 87#define BNX2FC_MAX_OUTSTANDING_CMNDS 2048
diff --git a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
index ba7ecb152a3..85bcc4b5596 100644
--- a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
+++ b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
@@ -322,7 +322,7 @@ static int bnx2fc_xmit(struct fc_lport *lport, struct fc_frame *fp)
322 return -ENOMEM; 322 return -ENOMEM;
323 } 323 }
324 frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1]; 324 frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1];
325 cp = kmap_atomic(frag->page, KM_SKB_DATA_SOFTIRQ) 325 cp = kmap_atomic(skb_frag_page(frag), KM_SKB_DATA_SOFTIRQ)
326 + frag->page_offset; 326 + frag->page_offset;
327 } else { 327 } else {
328 cp = (struct fcoe_crc_eof *)skb_put(skb, tlen); 328 cp = (struct fcoe_crc_eof *)skb_put(skb, tlen);
@@ -701,7 +701,7 @@ static void bnx2fc_link_speed_update(struct fc_lport *lport)
701 struct net_device *netdev = interface->netdev; 701 struct net_device *netdev = interface->netdev;
702 struct ethtool_cmd ecmd; 702 struct ethtool_cmd ecmd;
703 703
704 if (!dev_ethtool_get_settings(netdev, &ecmd)) { 704 if (!__ethtool_get_settings(netdev, &ecmd)) {
705 lport->link_supported_speeds &= 705 lport->link_supported_speeds &=
706 ~(FC_PORTSPEED_1GBIT | FC_PORTSPEED_10GBIT); 706 ~(FC_PORTSPEED_1GBIT | FC_PORTSPEED_10GBIT);
707 if (ecmd.supported & (SUPPORTED_1000baseT_Half | 707 if (ecmd.supported & (SUPPORTED_1000baseT_Half |
@@ -1063,9 +1063,11 @@ static int bnx2fc_vport_create(struct fc_vport *vport, bool disabled)
1063 "this interface\n"); 1063 "this interface\n");
1064 return -EIO; 1064 return -EIO;
1065 } 1065 }
1066 rtnl_lock();
1066 mutex_lock(&bnx2fc_dev_lock); 1067 mutex_lock(&bnx2fc_dev_lock);
1067 vn_port = bnx2fc_if_create(interface, &vport->dev, 1); 1068 vn_port = bnx2fc_if_create(interface, &vport->dev, 1);
1068 mutex_unlock(&bnx2fc_dev_lock); 1069 mutex_unlock(&bnx2fc_dev_lock);
1070 rtnl_unlock();
1069 1071
1070 if (IS_ERR(vn_port)) { 1072 if (IS_ERR(vn_port)) {
1071 printk(KERN_ERR PFX "bnx2fc_vport_create (%s) failed\n", 1073 printk(KERN_ERR PFX "bnx2fc_vport_create (%s) failed\n",