Skip to content

Commit

Permalink
qla3xxx: bugfix: Multi segment sends were getting whacked.
Browse files Browse the repository at this point in the history
The proper header length was not being used.

Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Ron Mercer authored and Jeff Garzik committed Mar 28, 2007
1 parent d8a759f commit b6967eb
Showing 1 changed file with 2 additions and 7 deletions.
9 changes: 2 additions & 7 deletions drivers/net/qla3xxx.c
Original file line number Diff line number Diff line change
Expand Up @@ -2217,12 +2217,7 @@ static int ql_send_map(struct ql3_adapter *qdev,
int seg_cnt, seg = 0;
int frag_cnt = (int)skb_shinfo(skb)->nr_frags;

seg_cnt = tx_cb->seg_count = ql_get_seg_count(qdev,
(skb_shinfo(skb)->nr_frags));
if(seg_cnt == -1) {
printk(KERN_ERR PFX"%s: invalid segment count!\n",__func__);
return NETDEV_TX_BUSY;
}
seg_cnt = tx_cb->seg_count;
/*
* Map the skb buffer first.
*/
Expand Down Expand Up @@ -2278,7 +2273,7 @@ static int ql_send_map(struct ql3_adapter *qdev,
pci_unmap_addr_set(&tx_cb->map[seg], mapaddr,
map);
pci_unmap_len_set(&tx_cb->map[seg], maplen,
len);
sizeof(struct oal));
oal_entry = (struct oal_entry *)oal;
oal++;
seg++;
Expand Down

0 comments on commit b6967eb

Please sign in to comment.