Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 134683
b: refs/heads/master
c: 8587ea3
h: refs/heads/master
i:
  134681: 858c61b
  134679: 284fe69
v: v3
  • Loading branch information
Ron Mercer authored and David S. Miller committed Feb 25, 2009
1 parent b737a24 commit b2407c9
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 19 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: cc288f54bbace136c08742da84712add54e4acfa
refs/heads/master: 8587ea35ca6b4add4353b8a18b67d358aed0389e
31 changes: 13 additions & 18 deletions trunk/drivers/net/qlge/qlge_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -418,10 +418,6 @@ int ql_get_routing_reg(struct ql_adapter *qdev, u32 index, u32 *value)
{
int status = 0;

status = ql_sem_spinlock(qdev, SEM_RT_IDX_MASK);
if (status)
goto exit;

status = ql_wait_reg_rdy(qdev, RT_IDX, RT_IDX_MW, 0);
if (status)
goto exit;
Expand All @@ -433,7 +429,6 @@ int ql_get_routing_reg(struct ql_adapter *qdev, u32 index, u32 *value)
goto exit;
*value = ql_read32(qdev, RT_DATA);
exit:
ql_sem_unlock(qdev, SEM_RT_IDX_MASK);
return status;
}

Expand All @@ -445,13 +440,9 @@ int ql_get_routing_reg(struct ql_adapter *qdev, u32 index, u32 *value)
static int ql_set_routing_reg(struct ql_adapter *qdev, u32 index, u32 mask,
int enable)
{
int status;
int status = -EINVAL; /* Return error if no mask match. */
u32 value = 0;

status = ql_sem_spinlock(qdev, SEM_RT_IDX_MASK);
if (status)
return status;

QPRINTK(qdev, IFUP, DEBUG,
"%s %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s mask %s the routing reg.\n",
(enable ? "Adding" : "Removing"),
Expand Down Expand Up @@ -547,7 +538,6 @@ static int ql_set_routing_reg(struct ql_adapter *qdev, u32 index, u32 mask,
ql_write32(qdev, RT_DATA, enable ? mask : 0);
}
exit:
ql_sem_unlock(qdev, SEM_RT_IDX_MASK);
return status;
}

Expand Down Expand Up @@ -2916,27 +2906,31 @@ static int ql_route_initialize(struct ql_adapter *qdev)
int status = 0;
int i;

status = ql_sem_spinlock(qdev, SEM_RT_IDX_MASK);
if (status)
return status;

/* Clear all the entries in the routing table. */
for (i = 0; i < 16; i++) {
status = ql_set_routing_reg(qdev, i, 0, 0);
if (status) {
QPRINTK(qdev, IFUP, ERR,
"Failed to init routing register for CAM packets.\n");
return status;
goto exit;
}
}

status = ql_set_routing_reg(qdev, RT_IDX_ALL_ERR_SLOT, RT_IDX_ERR, 1);
if (status) {
QPRINTK(qdev, IFUP, ERR,
"Failed to init routing register for error packets.\n");
return status;
goto exit;
}
status = ql_set_routing_reg(qdev, RT_IDX_BCAST_SLOT, RT_IDX_BCAST, 1);
if (status) {
QPRINTK(qdev, IFUP, ERR,
"Failed to init routing register for broadcast packets.\n");
return status;
goto exit;
}
/* If we have more than one inbound queue, then turn on RSS in the
* routing block.
Expand All @@ -2947,17 +2941,17 @@ static int ql_route_initialize(struct ql_adapter *qdev)
if (status) {
QPRINTK(qdev, IFUP, ERR,
"Failed to init routing register for MATCH RSS packets.\n");
return status;
goto exit;
}
}

status = ql_set_routing_reg(qdev, RT_IDX_CAM_HIT_SLOT,
RT_IDX_CAM_HIT, 1);
if (status) {
if (status)
QPRINTK(qdev, IFUP, ERR,
"Failed to init routing register for CAM packets.\n");
return status;
}
exit:
ql_sem_unlock(qdev, SEM_RT_IDX_MASK);
return status;
}

Expand Down Expand Up @@ -3518,6 +3512,7 @@ static void qlge_set_multicast_list(struct net_device *ndev)
}
exit:
spin_unlock(&qdev->hw_lock);
ql_sem_unlock(qdev, SEM_RT_IDX_MASK);
}

static int qlge_set_mac_address(struct net_device *ndev, void *p)
Expand Down

0 comments on commit b2407c9

Please sign in to comment.