~ubuntu-branches/ubuntu/karmic/linux-mvl-dove/karmic-proposed

« back to all changes in this revision

Viewing changes to drivers/net/e1000/e1000_main.c

  • Committer: Bazaar Package Importer
  • Author(s): Stefan Bader
  • Date: 2010-03-10 22:24:12 UTC
  • mto: (15.1.2 karmic-security)
  • mto: This revision was merged to the branch mainline in revision 18.
  • Revision ID: james.westby@ubuntu.com-20100310222412-k86m3r53jw0je7x1
Tags: upstream-2.6.31
ImportĀ upstreamĀ versionĀ 2.6.31

Show diffs side-by-side

added added

removed removed

Lines of Context:
4041
4041
 
4042
4042
                length = le16_to_cpu(rx_desc->length);
4043
4043
                /* !EOP means multiple descriptors were used to store a single
4044
 
                 * packet, if thats the case we need to toss it.  In fact, we
4045
 
                 * to toss every packet with the EOP bit clear and the next
4046
 
                 * frame that _does_ have the EOP bit set, as it is by
4047
 
                 * definition only a frame fragment
4048
 
                 */
4049
 
                if (unlikely(!(status & E1000_RXD_STAT_EOP)))
4050
 
                        set_bit(__E1000_DISCARDING, &adapter->flags);
4051
 
 
4052
 
                if (test_bit(__E1000_DISCARDING, &adapter->flags)) {
 
4044
                 * packet, also make sure the frame isn't just CRC only */
 
4045
                if (unlikely(!(status & E1000_RXD_STAT_EOP) || (length <= 4))) {
4053
4046
                        /* All receives must fit into a single buffer */
4054
4047
                        E1000_DBG("%s: Receive packet consumed multiple"
4055
4048
                                  " buffers\n", netdev->name);
4056
4049
                        /* recycle */
4057
4050
                        buffer_info->skb = skb;
4058
 
                        if (status & E1000_RXD_STAT_EOP)
4059
 
                                clear_bit(__E1000_DISCARDING, &adapter->flags);
4060
4051
                        goto next_desc;
4061
4052
                }
4062
4053