|
@@ -1829,6 +1829,7 @@ static int e100_alloc_cbs(struct nic *nic)
|
|
&nic->cbs_dma_addr);
|
|
&nic->cbs_dma_addr);
|
|
if (!nic->cbs)
|
|
if (!nic->cbs)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
+ memset(nic->cbs, 0, count * sizeof(struct cb));
|
|
|
|
|
|
for (cb = nic->cbs, i = 0; i < count; cb++, i++) {
|
|
for (cb = nic->cbs, i = 0; i < count; cb++, i++) {
|
|
cb->next = (i + 1 < count) ? cb + 1 : nic->cbs;
|
|
cb->next = (i + 1 < count) ? cb + 1 : nic->cbs;
|
|
@@ -1837,7 +1838,6 @@ static int e100_alloc_cbs(struct nic *nic)
|
|
cb->dma_addr = nic->cbs_dma_addr + i * sizeof(struct cb);
|
|
cb->dma_addr = nic->cbs_dma_addr + i * sizeof(struct cb);
|
|
cb->link = cpu_to_le32(nic->cbs_dma_addr +
|
|
cb->link = cpu_to_le32(nic->cbs_dma_addr +
|
|
((i+1) % count) * sizeof(struct cb));
|
|
((i+1) % count) * sizeof(struct cb));
|
|
- cb->skb = NULL;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
nic->cb_to_use = nic->cb_to_send = nic->cb_to_clean = nic->cbs;
|
|
nic->cb_to_use = nic->cb_to_send = nic->cb_to_clean = nic->cbs;
|