* [net-next PATCH 1/8] qlge: Drop inbound error frames.
@ 2009-06-09 15:39 Ron Mercer
2009-06-09 15:39 ` [net-next PATCH 2/8] qlge: Drop inbound frames > MTU Ron Mercer
` (7 more replies)
0 siblings, 8 replies; 18+ messages in thread
From: Ron Mercer @ 2009-06-09 15:39 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge_main.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index 0b0778d..45da405 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -1518,6 +1518,13 @@ static void ql_process_mac_rx_intr(struct ql_adapter *qdev,
return;
}
+ /* Frame error, so drop the packet. */
+ if (ib_mac_rsp->flags2 & IB_MAC_IOCB_RSP_ERR_MASK) {
+ QPRINTK(qdev, DRV, ERR, "Receive error, flags2 = 0x%x\n",
+ ib_mac_rsp->flags2);
+ dev_kfree_skb_any(skb);
+ return;
+ }
prefetch(skb->data);
skb->dev = ndev;
if (ib_mac_rsp->flags1 & IB_MAC_IOCB_RSP_M_MASK) {
@@ -1540,7 +1547,6 @@ static void ql_process_mac_rx_intr(struct ql_adapter *qdev,
* csum or frame errors.
*/
if (qdev->rx_csum &&
- !(ib_mac_rsp->flags2 & IB_MAC_IOCB_RSP_ERR_MASK) &&
!(ib_mac_rsp->flags1 & IB_MAC_CSUM_ERR_MASK)) {
/* TCP frame. */
if (ib_mac_rsp->flags2 & IB_MAC_IOCB_RSP_T) {
--
1.6.0.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [net-next PATCH 2/8] qlge: Drop inbound frames > MTU.
2009-06-09 15:39 [net-next PATCH 1/8] qlge: Drop inbound error frames Ron Mercer
@ 2009-06-09 15:39 ` Ron Mercer
2009-06-10 8:05 ` David Miller
2009-06-09 15:39 ` [net-next PATCH 3/8] qlge: Add support for retrieving firmware version Ron Mercer
` (6 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Ron Mercer @ 2009-06-09 15:39 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
The max frame size register is set higher than the MTU to
accomodate FCoE frames.
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge_main.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index 45da405..7c17aa2 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -1525,6 +1525,15 @@ static void ql_process_mac_rx_intr(struct ql_adapter *qdev,
dev_kfree_skb_any(skb);
return;
}
+
+ /* The max framesize filter on this chip is set higher than
+ * MTU since FCoE uses 2k frames.
+ */
+ if (skb->len > ndev->mtu + ETH_HLEN) {
+ dev_kfree_skb_any(skb);
+ return;
+ }
+
prefetch(skb->data);
skb->dev = ndev;
if (ib_mac_rsp->flags1 & IB_MAC_IOCB_RSP_M_MASK) {
--
1.6.0.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [net-next PATCH 3/8] qlge: Add support for retrieving firmware version.
2009-06-09 15:39 [net-next PATCH 1/8] qlge: Drop inbound error frames Ron Mercer
2009-06-09 15:39 ` [net-next PATCH 2/8] qlge: Drop inbound frames > MTU Ron Mercer
@ 2009-06-09 15:39 ` Ron Mercer
2009-06-10 8:05 ` David Miller
2009-06-09 15:39 ` [net-next PATCH 4/8] qlge: Remove netif_set_gso_max_size() call Ron Mercer
` (5 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Ron Mercer @ 2009-06-09 15:39 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
This is used by driver banner and ethtool info.
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge.h | 2 ++
drivers/net/qlge/qlge_ethtool.c | 5 ++++-
drivers/net/qlge/qlge_main.c | 7 +++++++
drivers/net/qlge/qlge_mpi.c | 34 ++++++++++++++++++++++++++++++++++
4 files changed, 47 insertions(+), 1 deletions(-)
diff --git a/drivers/net/qlge/qlge.h b/drivers/net/qlge/qlge.h
index e186071..258ef44 100644
--- a/drivers/net/qlge/qlge.h
+++ b/drivers/net/qlge/qlge.h
@@ -1430,6 +1430,7 @@ struct ql_adapter {
/* Hardware information */
u32 chip_rev_id;
+ u32 fw_rev_id;
u32 func; /* PCI function for this adapter */
spinlock_t adapter_lock;
@@ -1580,6 +1581,7 @@ void ql_mpi_idc_work(struct work_struct *work);
void ql_mpi_port_cfg_work(struct work_struct *work);
int ql_mb_get_fw_state(struct ql_adapter *qdev);
int ql_cam_route_initialize(struct ql_adapter *qdev);
+int ql_mb_about_fw(struct ql_adapter *qdev);
#if 1
#define QL_ALL_DUMP
diff --git a/drivers/net/qlge/qlge_ethtool.c b/drivers/net/qlge/qlge_ethtool.c
index 913b2a5..ea02163 100644
--- a/drivers/net/qlge/qlge_ethtool.c
+++ b/drivers/net/qlge/qlge_ethtool.c
@@ -293,7 +293,10 @@ static void ql_get_drvinfo(struct net_device *ndev,
struct ql_adapter *qdev = netdev_priv(ndev);
strncpy(drvinfo->driver, qlge_driver_name, 32);
strncpy(drvinfo->version, qlge_driver_version, 32);
- strncpy(drvinfo->fw_version, "N/A", 32);
+ snprintf(drvinfo->fw_version, 32, "v%d.%d.%d",
+ (qdev->fw_rev_id & 0x00ff0000) >> 16,
+ (qdev->fw_rev_id & 0x0000ff00) >> 8,
+ (qdev->fw_rev_id & 0x000000ff));
strncpy(drvinfo->bus_info, pci_name(qdev->pdev), 32);
drvinfo->n_stats = 0;
drvinfo->testinfo_len = 0;
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index 7c17aa2..f2e4501 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -837,6 +837,13 @@ exit:
static int ql_8000_port_initialize(struct ql_adapter *qdev)
{
int status;
+ /*
+ * Get MPI firmware version for driver banner
+ * and ethool info.
+ */
+ status = ql_mb_about_fw(qdev);
+ if (status)
+ goto exit;
status = ql_mb_get_fw_state(qdev);
if (status)
goto exit;
diff --git a/drivers/net/qlge/qlge_mpi.c b/drivers/net/qlge/qlge_mpi.c
index 3bd60a4..a67c14a 100644
--- a/drivers/net/qlge/qlge_mpi.c
+++ b/drivers/net/qlge/qlge_mpi.c
@@ -547,6 +547,40 @@ end:
return status;
}
+
+/* Get MPI firmware version. This will be used for
+ * driver banner and for ethtool info.
+ * Returns zero on success.
+ */
+int ql_mb_about_fw(struct ql_adapter *qdev)
+{
+ struct mbox_params mbc;
+ struct mbox_params *mbcp = &mbc;
+ int status = 0;
+
+ memset(mbcp, 0, sizeof(struct mbox_params));
+
+ mbcp->in_count = 1;
+ mbcp->out_count = 3;
+
+ mbcp->mbox_in[0] = MB_CMD_ABOUT_FW;
+
+ status = ql_mailbox_command(qdev, mbcp);
+ if (status)
+ return status;
+
+ if (mbcp->mbox_out[0] != MB_CMD_STS_GOOD) {
+ QPRINTK(qdev, DRV, ERR,
+ "Failed about firmware command\n");
+ status = -EIO;
+ }
+
+ /* Store the firmware version */
+ qdev->fw_rev_id = mbcp->mbox_out[1];
+
+ return status;
+}
+
/* Get functional state for MPI firmware.
* Returns zero on success.
*/
--
1.6.0.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [net-next PATCH 4/8] qlge: Remove netif_set_gso_max_size() call.
2009-06-09 15:39 [net-next PATCH 1/8] qlge: Drop inbound error frames Ron Mercer
2009-06-09 15:39 ` [net-next PATCH 2/8] qlge: Drop inbound frames > MTU Ron Mercer
2009-06-09 15:39 ` [net-next PATCH 3/8] qlge: Add support for retrieving firmware version Ron Mercer
@ 2009-06-09 15:39 ` Ron Mercer
2009-06-10 8:05 ` David Miller
2009-06-09 15:39 ` [net-next PATCH 5/8] qlge: Add set TX csum ethtool op Ron Mercer
` (4 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Ron Mercer @ 2009-06-09 15:39 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
Not necessary if hardware supports 65536 as it's the default setting.
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge_main.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index f2e4501..738691d 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -3382,7 +3382,6 @@ static int ql_configure_rings(struct ql_adapter *qdev)
* completion handler rx_rings.
*/
qdev->rx_ring_count = qdev->tx_ring_count + qdev->rss_ring_count + 1;
- netif_set_gso_max_size(qdev->ndev, 65536);
for (i = 0; i < qdev->tx_ring_count; i++) {
tx_ring = &qdev->tx_ring[i];
--
1.6.0.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [net-next PATCH 5/8] qlge: Add set TX csum ethtool op.
2009-06-09 15:39 [net-next PATCH 1/8] qlge: Drop inbound error frames Ron Mercer
` (2 preceding siblings ...)
2009-06-09 15:39 ` [net-next PATCH 4/8] qlge: Remove netif_set_gso_max_size() call Ron Mercer
@ 2009-06-09 15:39 ` Ron Mercer
2009-06-10 8:05 ` David Miller
2009-06-09 15:39 ` [net-next PATCH 6/8] qlge: Add support for varied pcie function numbers Ron Mercer
` (3 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Ron Mercer @ 2009-06-09 15:39 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge_ethtool.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/net/qlge/qlge_ethtool.c b/drivers/net/qlge/qlge_ethtool.c
index ea02163..37c99fe 100644
--- a/drivers/net/qlge/qlge_ethtool.c
+++ b/drivers/net/qlge/qlge_ethtool.c
@@ -404,6 +404,7 @@ const struct ethtool_ops qlge_ethtool_ops = {
.get_rx_csum = ql_get_rx_csum,
.set_rx_csum = ql_set_rx_csum,
.get_tx_csum = ethtool_op_get_tx_csum,
+ .set_tx_csum = ethtool_op_set_tx_csum,
.get_sg = ethtool_op_get_sg,
.set_sg = ethtool_op_set_sg,
.get_tso = ethtool_op_get_tso,
--
1.6.0.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [net-next PATCH 6/8] qlge: Add support for varied pcie function numbers.
2009-06-09 15:39 [net-next PATCH 1/8] qlge: Drop inbound error frames Ron Mercer
` (3 preceding siblings ...)
2009-06-09 15:39 ` [net-next PATCH 5/8] qlge: Add set TX csum ethtool op Ron Mercer
@ 2009-06-09 15:39 ` Ron Mercer
2009-06-10 8:05 ` David Miller
2009-06-09 15:39 ` [net-next PATCH 7/8] qlge: Add support for using alternate MAC address Ron Mercer
` (2 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Ron Mercer @ 2009-06-09 15:39 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
Currently we support only PCIe NIC functions zero and one, and FCoE
functions as 3 and 4. Future configurations can mix these up in any
fashion.
This patch removes the 0-1 dependancy and allows usage of any of the 4
functions. We also find the alternate NIC function (if exist) and
determine our port number based on the comparison of the two functions:
Lower function number gets first port, higher function gets second port.
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge.h | 14 ++++++++++
drivers/net/qlge/qlge_main.c | 60 +++++++++++++++++++++++++++++++++++++----
2 files changed, 68 insertions(+), 6 deletions(-)
diff --git a/drivers/net/qlge/qlge.h b/drivers/net/qlge/qlge.h
index 258ef44..5eb52ca 100644
--- a/drivers/net/qlge/qlge.h
+++ b/drivers/net/qlge/qlge.h
@@ -65,6 +65,17 @@
#define DB_PAGE_SIZE 4096
+/* MPI test register definitions. This register
+ * is used for determining alternate NIC function's
+ * PCI->func number.
+ */
+enum {
+ MPI_TEST_FUNC_PORT_CFG = 0x1002,
+ MPI_TEST_NIC1_FUNC_SHIFT = 1,
+ MPI_TEST_NIC2_FUNC_SHIFT = 5,
+ MPI_TEST_NIC_FUNC_MASK = 0x00000007,
+};
+
/*
* Processor Address Register (PROC_ADDR) bit definitions.
*/
@@ -1432,6 +1443,8 @@ struct ql_adapter {
u32 chip_rev_id;
u32 fw_rev_id;
u32 func; /* PCI function for this adapter */
+ u32 alt_func; /* PCI function for alternate adapter */
+ u32 port; /* Port number this adapter */
spinlock_t adapter_lock;
spinlock_t hw_lock;
@@ -1581,6 +1594,7 @@ void ql_mpi_idc_work(struct work_struct *work);
void ql_mpi_port_cfg_work(struct work_struct *work);
int ql_mb_get_fw_state(struct ql_adapter *qdev);
int ql_cam_route_initialize(struct ql_adapter *qdev);
+int ql_read_mpi_reg(struct ql_adapter *qdev, u32 reg, u32 *data);
int ql_mb_about_fw(struct ql_adapter *qdev);
#if 1
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index 738691d..d5f3628 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -679,7 +679,7 @@ static int ql_get_8000_flash_params(struct ql_adapter *qdev)
/* Get flash offset for function and adjust
* for dword access.
*/
- if (!qdev->func)
+ if (!qdev->port)
offset = FUNC0_FLASH_OFFSET / sizeof(u32);
else
offset = FUNC1_FLASH_OFFSET / sizeof(u32);
@@ -731,7 +731,7 @@ static int ql_get_8012_flash_params(struct ql_adapter *qdev)
/* Second function's parameters follow the first
* function's.
*/
- if (qdev->func)
+ if (qdev->port)
offset = size;
if (ql_sem_spinlock(qdev, SEM_FLASH_MASK))
@@ -3207,9 +3207,10 @@ static void ql_display_dev_info(struct net_device *ndev)
struct ql_adapter *qdev = (struct ql_adapter *)netdev_priv(ndev);
QPRINTK(qdev, PROBE, INFO,
- "Function #%d, NIC Roll %d, NIC Rev = %d, "
+ "Function #%d, Port %d, NIC Roll %d, NIC Rev = %d, "
"XG Roll = %d, XG Rev = %d.\n",
qdev->func,
+ qdev->port,
qdev->chip_rev_id & 0x0000000f,
qdev->chip_rev_id >> 4 & 0x0000000f,
qdev->chip_rev_id >> 8 & 0x0000000f,
@@ -3664,12 +3665,53 @@ static struct nic_operations qla8000_nic_ops = {
.port_initialize = ql_8000_port_initialize,
};
+/* Find the pcie function number for the other NIC
+ * on this chip. Since both NIC functions share a
+ * common firmware we have the lowest enabled function
+ * do any common work. Examples would be resetting
+ * after a fatal firmware error, or doing a firmware
+ * coredump.
+ */
+static int ql_get_alt_pcie_func(struct ql_adapter *qdev)
+{
+ int status = 0;
+ u32 temp;
+ u32 nic_func1, nic_func2;
+
+ status = ql_read_mpi_reg(qdev, MPI_TEST_FUNC_PORT_CFG,
+ &temp);
+ if (status)
+ return status;
+
+ nic_func1 = ((temp >> MPI_TEST_NIC1_FUNC_SHIFT) &
+ MPI_TEST_NIC_FUNC_MASK);
+ nic_func2 = ((temp >> MPI_TEST_NIC2_FUNC_SHIFT) &
+ MPI_TEST_NIC_FUNC_MASK);
+
+ if (qdev->func == nic_func1)
+ qdev->alt_func = nic_func2;
+ else if (qdev->func == nic_func2)
+ qdev->alt_func = nic_func1;
+ else
+ status = -EIO;
+
+ return status;
+}
-static void ql_get_board_info(struct ql_adapter *qdev)
+static int ql_get_board_info(struct ql_adapter *qdev)
{
+ int status;
qdev->func =
(ql_read32(qdev, STS) & STS_FUNC_ID_MASK) >> STS_FUNC_ID_SHIFT;
- if (qdev->func) {
+ if (qdev->func > 3)
+ return -EIO;
+
+ status = ql_get_alt_pcie_func(qdev);
+ if (status)
+ return status;
+
+ qdev->port = (qdev->func < qdev->alt_func) ? 0 : 1;
+ if (qdev->port) {
qdev->xg_sem_mask = SEM_XGMAC1_MASK;
qdev->port_link_up = STS_PL1;
qdev->port_init = STS_PI1;
@@ -3688,6 +3730,7 @@ static void ql_get_board_info(struct ql_adapter *qdev)
qdev->nic_ops = &qla8012_nic_ops;
else if (qdev->device_id == QLGE_DEVICE_ID_8000)
qdev->nic_ops = &qla8000_nic_ops;
+ return status;
}
static void ql_release_all(struct pci_dev *pdev)
@@ -3782,7 +3825,12 @@ static int __devinit ql_init_device(struct pci_dev *pdev,
qdev->ndev = ndev;
qdev->pdev = pdev;
- ql_get_board_info(qdev);
+ err = ql_get_board_info(qdev);
+ if (err) {
+ dev_err(&pdev->dev, "Register access failed.\n");
+ err = -EIO;
+ goto err_out;
+ }
qdev->msg_enable = netif_msg_init(debug, default_msg);
spin_lock_init(&qdev->hw_lock);
spin_lock_init(&qdev->stats_lock);
--
1.6.0.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [net-next PATCH 7/8] qlge: Add support for using alternate MAC address.
2009-06-09 15:39 [net-next PATCH 1/8] qlge: Drop inbound error frames Ron Mercer
` (4 preceding siblings ...)
2009-06-09 15:39 ` [net-next PATCH 6/8] qlge: Add support for varied pcie function numbers Ron Mercer
@ 2009-06-09 15:39 ` Ron Mercer
2009-06-10 8:05 ` David Miller
2009-06-09 15:39 ` [net-next PATCH 8/8] qlge: bugfix: Get rid of errant spin_unlock() Ron Mercer
2009-06-10 8:05 ` [net-next PATCH 1/8] qlge: Drop inbound error frames David Miller
7 siblings, 1 reply; 18+ messages in thread
From: Ron Mercer @ 2009-06-09 15:39 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
Extract either manufacturer or Bladecenter Open Fabric
Manager (BOFM) MAC address. BOFM may indicate an
alternate MAC address. This patch honors that request
by extracting the MAC address from a different
flash location if a flag is set.
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge_main.c | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index d5f3628..5055f5b 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -675,6 +675,7 @@ static int ql_get_8000_flash_params(struct ql_adapter *qdev)
int status;
__le32 *p = (__le32 *)&qdev->flash;
u32 offset;
+ u8 mac_addr[6];
/* Get flash offset for function and adjust
* for dword access.
@@ -705,14 +706,26 @@ static int ql_get_8000_flash_params(struct ql_adapter *qdev)
goto exit;
}
- if (!is_valid_ether_addr(qdev->flash.flash_params_8000.mac_addr)) {
+ /* Extract either manufacturer or BOFM modified
+ * MAC address.
+ */
+ if (qdev->flash.flash_params_8000.data_type1 == 2)
+ memcpy(mac_addr,
+ qdev->flash.flash_params_8000.mac_addr1,
+ qdev->ndev->addr_len);
+ else
+ memcpy(mac_addr,
+ qdev->flash.flash_params_8000.mac_addr,
+ qdev->ndev->addr_len);
+
+ if (!is_valid_ether_addr(mac_addr)) {
QPRINTK(qdev, IFUP, ERR, "Invalid MAC address.\n");
status = -EINVAL;
goto exit;
}
memcpy(qdev->ndev->dev_addr,
- qdev->flash.flash_params_8000.mac_addr,
+ mac_addr,
qdev->ndev->addr_len);
exit:
--
1.6.0.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [net-next PATCH 8/8] qlge: bugfix: Get rid of errant spin_unlock().
2009-06-09 15:39 [net-next PATCH 1/8] qlge: Drop inbound error frames Ron Mercer
` (5 preceding siblings ...)
2009-06-09 15:39 ` [net-next PATCH 7/8] qlge: Add support for using alternate MAC address Ron Mercer
@ 2009-06-09 15:39 ` Ron Mercer
2009-06-09 16:25 ` Ron Mercer
2009-06-09 16:35 ` Ron Mercer
2009-06-10 8:05 ` [net-next PATCH 1/8] qlge: Drop inbound error frames David Miller
7 siblings, 2 replies; 18+ messages in thread
From: Ron Mercer @ 2009-06-09 15:39 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge_main.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
mode change 100644 => 100755 drivers/net/qlge/qlge_main.c
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
old mode 100644
new mode 100755
index 5055f5b..024c734
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -3299,7 +3299,6 @@ static int ql_adapter_up(struct ql_adapter *qdev)
err = ql_adapter_initialize(qdev);
if (err) {
QPRINTK(qdev, IFUP, INFO, "Unable to initialize adapter.\n");
- spin_unlock(&qdev->hw_lock);
goto err_init;
}
set_bit(QL_ADAPTER_UP, &qdev->flags);
--
1.6.0.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [net-next PATCH 8/8] qlge: bugfix: Get rid of errant spin_unlock().
2009-06-09 15:39 ` [net-next PATCH 8/8] qlge: bugfix: Get rid of errant spin_unlock() Ron Mercer
@ 2009-06-09 16:25 ` Ron Mercer
2009-06-09 16:35 ` Ron Mercer
1 sibling, 0 replies; 18+ messages in thread
From: Ron Mercer @ 2009-06-09 16:25 UTC (permalink / raw)
To: davem@davemloft.net; +Cc: netdev@vger.kernel.org
Dave,
I messed up the file mode on this. I will repost it.
Regards,
Ron Mercer
On Tue, Jun 09, 2009 at 08:39:34AM -0700, Ron Mercer wrote:
>
> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
> ---
> drivers/net/qlge/qlge_main.c | 1 -
> 1 files changed, 0 insertions(+), 1 deletions(-)
> mode change 100644 => 100755 drivers/net/qlge/qlge_main.c
>
> diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
> old mode 100644
> new mode 100755
> index 5055f5b..024c734
> --- a/drivers/net/qlge/qlge_main.c
> +++ b/drivers/net/qlge/qlge_main.c
> @@ -3299,7 +3299,6 @@ static int ql_adapter_up(struct ql_adapter *qdev)
> err = ql_adapter_initialize(qdev);
> if (err) {
> QPRINTK(qdev, IFUP, INFO, "Unable to initialize adapter.\n");
> - spin_unlock(&qdev->hw_lock);
> goto err_init;
> }
> set_bit(QL_ADAPTER_UP, &qdev->flags);
> --
> 1.6.0.2
^ permalink raw reply [flat|nested] 18+ messages in thread
* [net-next PATCH 8/8] qlge: bugfix: Get rid of errant spin_unlock().
2009-06-09 15:39 ` [net-next PATCH 8/8] qlge: bugfix: Get rid of errant spin_unlock() Ron Mercer
2009-06-09 16:25 ` Ron Mercer
@ 2009-06-09 16:35 ` Ron Mercer
2009-06-10 8:06 ` David Miller
1 sibling, 1 reply; 18+ messages in thread
From: Ron Mercer @ 2009-06-09 16:35 UTC (permalink / raw)
To: davem; +Cc: netdev, ron.mercer
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
drivers/net/qlge/qlge_main.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index 5055f5b..024c734 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -3299,7 +3299,6 @@ static int ql_adapter_up(struct ql_adapter *qdev)
err = ql_adapter_initialize(qdev);
if (err) {
QPRINTK(qdev, IFUP, INFO, "Unable to initialize adapter.\n");
- spin_unlock(&qdev->hw_lock);
goto err_init;
}
set_bit(QL_ADAPTER_UP, &qdev->flags);
--
1.6.0.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [net-next PATCH 1/8] qlge: Drop inbound error frames.
2009-06-09 15:39 [net-next PATCH 1/8] qlge: Drop inbound error frames Ron Mercer
` (6 preceding siblings ...)
2009-06-09 15:39 ` [net-next PATCH 8/8] qlge: bugfix: Get rid of errant spin_unlock() Ron Mercer
@ 2009-06-10 8:05 ` David Miller
7 siblings, 0 replies; 18+ messages in thread
From: David Miller @ 2009-06-10 8:05 UTC (permalink / raw)
To: ron.mercer; +Cc: netdev
From: Ron Mercer <ron.mercer@qlogic.com>
Date: Tue, 9 Jun 2009 08:39:27 -0700
>
> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Applied.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [net-next PATCH 2/8] qlge: Drop inbound frames > MTU.
2009-06-09 15:39 ` [net-next PATCH 2/8] qlge: Drop inbound frames > MTU Ron Mercer
@ 2009-06-10 8:05 ` David Miller
0 siblings, 0 replies; 18+ messages in thread
From: David Miller @ 2009-06-10 8:05 UTC (permalink / raw)
To: ron.mercer; +Cc: netdev
From: Ron Mercer <ron.mercer@qlogic.com>
Date: Tue, 9 Jun 2009 08:39:28 -0700
> The max frame size register is set higher than the MTU to
> accomodate FCoE frames.
>
> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Applied.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [net-next PATCH 3/8] qlge: Add support for retrieving firmware version.
2009-06-09 15:39 ` [net-next PATCH 3/8] qlge: Add support for retrieving firmware version Ron Mercer
@ 2009-06-10 8:05 ` David Miller
0 siblings, 0 replies; 18+ messages in thread
From: David Miller @ 2009-06-10 8:05 UTC (permalink / raw)
To: ron.mercer; +Cc: netdev
From: Ron Mercer <ron.mercer@qlogic.com>
Date: Tue, 9 Jun 2009 08:39:29 -0700
> This is used by driver banner and ethtool info.
>
> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Applied.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [net-next PATCH 4/8] qlge: Remove netif_set_gso_max_size() call.
2009-06-09 15:39 ` [net-next PATCH 4/8] qlge: Remove netif_set_gso_max_size() call Ron Mercer
@ 2009-06-10 8:05 ` David Miller
0 siblings, 0 replies; 18+ messages in thread
From: David Miller @ 2009-06-10 8:05 UTC (permalink / raw)
To: ron.mercer; +Cc: netdev
From: Ron Mercer <ron.mercer@qlogic.com>
Date: Tue, 9 Jun 2009 08:39:30 -0700
> Not necessary if hardware supports 65536 as it's the default setting.
>
> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Applied.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [net-next PATCH 5/8] qlge: Add set TX csum ethtool op.
2009-06-09 15:39 ` [net-next PATCH 5/8] qlge: Add set TX csum ethtool op Ron Mercer
@ 2009-06-10 8:05 ` David Miller
0 siblings, 0 replies; 18+ messages in thread
From: David Miller @ 2009-06-10 8:05 UTC (permalink / raw)
To: ron.mercer; +Cc: netdev
From: Ron Mercer <ron.mercer@qlogic.com>
Date: Tue, 9 Jun 2009 08:39:31 -0700
> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Applied.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [net-next PATCH 6/8] qlge: Add support for varied pcie function numbers.
2009-06-09 15:39 ` [net-next PATCH 6/8] qlge: Add support for varied pcie function numbers Ron Mercer
@ 2009-06-10 8:05 ` David Miller
0 siblings, 0 replies; 18+ messages in thread
From: David Miller @ 2009-06-10 8:05 UTC (permalink / raw)
To: ron.mercer; +Cc: netdev
From: Ron Mercer <ron.mercer@qlogic.com>
Date: Tue, 9 Jun 2009 08:39:32 -0700
> Currently we support only PCIe NIC functions zero and one, and FCoE
> functions as 3 and 4. Future configurations can mix these up in any
> fashion.
> This patch removes the 0-1 dependancy and allows usage of any of the 4
> functions. We also find the alternate NIC function (if exist) and
> determine our port number based on the comparison of the two functions:
> Lower function number gets first port, higher function gets second port.
>
> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Applied.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [net-next PATCH 7/8] qlge: Add support for using alternate MAC address.
2009-06-09 15:39 ` [net-next PATCH 7/8] qlge: Add support for using alternate MAC address Ron Mercer
@ 2009-06-10 8:05 ` David Miller
0 siblings, 0 replies; 18+ messages in thread
From: David Miller @ 2009-06-10 8:05 UTC (permalink / raw)
To: ron.mercer; +Cc: netdev
From: Ron Mercer <ron.mercer@qlogic.com>
Date: Tue, 9 Jun 2009 08:39:33 -0700
> Extract either manufacturer or Bladecenter Open Fabric
> Manager (BOFM) MAC address. BOFM may indicate an
> alternate MAC address. This patch honors that request
> by extracting the MAC address from a different
> flash location if a flag is set.
>
> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Applied.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [net-next PATCH 8/8] qlge: bugfix: Get rid of errant spin_unlock().
2009-06-09 16:35 ` Ron Mercer
@ 2009-06-10 8:06 ` David Miller
0 siblings, 0 replies; 18+ messages in thread
From: David Miller @ 2009-06-10 8:06 UTC (permalink / raw)
To: ron.mercer; +Cc: netdev
From: Ron Mercer <ron.mercer@qlogic.com>
Date: Tue, 9 Jun 2009 09:35:12 -0700
>
> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Applied.
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2009-06-10 8:06 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-09 15:39 [net-next PATCH 1/8] qlge: Drop inbound error frames Ron Mercer
2009-06-09 15:39 ` [net-next PATCH 2/8] qlge: Drop inbound frames > MTU Ron Mercer
2009-06-10 8:05 ` David Miller
2009-06-09 15:39 ` [net-next PATCH 3/8] qlge: Add support for retrieving firmware version Ron Mercer
2009-06-10 8:05 ` David Miller
2009-06-09 15:39 ` [net-next PATCH 4/8] qlge: Remove netif_set_gso_max_size() call Ron Mercer
2009-06-10 8:05 ` David Miller
2009-06-09 15:39 ` [net-next PATCH 5/8] qlge: Add set TX csum ethtool op Ron Mercer
2009-06-10 8:05 ` David Miller
2009-06-09 15:39 ` [net-next PATCH 6/8] qlge: Add support for varied pcie function numbers Ron Mercer
2009-06-10 8:05 ` David Miller
2009-06-09 15:39 ` [net-next PATCH 7/8] qlge: Add support for using alternate MAC address Ron Mercer
2009-06-10 8:05 ` David Miller
2009-06-09 15:39 ` [net-next PATCH 8/8] qlge: bugfix: Get rid of errant spin_unlock() Ron Mercer
2009-06-09 16:25 ` Ron Mercer
2009-06-09 16:35 ` Ron Mercer
2009-06-10 8:06 ` David Miller
2009-06-10 8:05 ` [net-next PATCH 1/8] qlge: Drop inbound error frames David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).