Message ID | 20090622053530.GA28382@redhat.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Dave Jones <davej@redhat.com> Date: Mon, 22 Jun 2009 01:35:30 -0400 > this makes it even clearer what's going on. > -- > > When a packet is greater than ETH_ZLEN, we end up assigning the > boolean result of a comparison to the size we unmap. > > Signed-off-by: Dave Jones <davej@redhat.com> Looks great Dave, thanks for figuring this out. I'll queue this up for -stable too. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c index b02f7ad..3ba3595 100644 --- a/drivers/net/via-velocity.c +++ b/drivers/net/via-velocity.c @@ -1847,7 +1847,7 @@ static void velocity_free_tx_buf(struct velocity_info *vptr, struct velocity_td_ */ if (tdinfo->skb_dma) { - pktlen = (skb->len > ETH_ZLEN ? : ETH_ZLEN); + pktlen = max_t(unsigned int, skb->len, ETH_ZLEN); for (i = 0; i < tdinfo->nskb_dma; i++) { #ifdef VELOCITY_ZERO_COPY_SUPPORT pci_unmap_single(vptr->pdev, tdinfo->skb_dma[i], le16_to_cpu(td->tdesc1.len), PCI_DMA_TODEVICE);