qlge: Fix frame routing for multicast frames.

Broadcast/multicast should always be routed to the default (zeroeth) rx
ring.  Broadcast frames are already routed correctly.  This fixes
routing for multicast frames.

Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ron Mercer 2009-10-08 09:54:39 +00:00 committed by David S. Miller
parent a3b71939a9
commit e163d7f277

View file

@ -546,14 +546,14 @@ static int ql_set_routing_reg(struct ql_adapter *qdev, u32 index, u32 mask,
} }
case RT_IDX_MCAST: /* Pass up All Multicast frames. */ case RT_IDX_MCAST: /* Pass up All Multicast frames. */
{ {
value = RT_IDX_DST_CAM_Q | /* dest */ value = RT_IDX_DST_DFLT_Q | /* dest */
RT_IDX_TYPE_NICQ | /* type */ RT_IDX_TYPE_NICQ | /* type */
(RT_IDX_ALLMULTI_SLOT << RT_IDX_IDX_SHIFT);/* index */ (RT_IDX_ALLMULTI_SLOT << RT_IDX_IDX_SHIFT);/* index */
break; break;
} }
case RT_IDX_MCAST_MATCH: /* Pass up matched Multicast frames. */ case RT_IDX_MCAST_MATCH: /* Pass up matched Multicast frames. */
{ {
value = RT_IDX_DST_CAM_Q | /* dest */ value = RT_IDX_DST_DFLT_Q | /* dest */
RT_IDX_TYPE_NICQ | /* type */ RT_IDX_TYPE_NICQ | /* type */
(RT_IDX_MCAST_MATCH_SLOT << RT_IDX_IDX_SHIFT);/* index */ (RT_IDX_MCAST_MATCH_SLOT << RT_IDX_IDX_SHIFT);/* index */
break; break;