diff options
author | Francois Romieu <romieu@fr.zoreil.com> | 2011-08-25 12:47:24 -0400 |
---|---|---|
committer | Francois Romieu <romieu@fr.zoreil.com> | 2011-09-17 05:38:05 -0400 |
commit | e03f33af79f0772156e1a1a1e36bdddf8012b2e4 (patch) | |
tree | 4af8610b530f3eae7daedbc7f78c9b6e679bc9d4 | |
parent | 106633897e086e1b47126996aac1a427eb80eb1b (diff) |
r8169: remove erroneous processing of always set bit.
When set, RxFOVF (resp. RxBOVF) is always 1 (resp. 0).
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Hayes <hayeswang@realtek.com>
-rw-r--r-- | drivers/net/r8169.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 78c1d5832792..dff0bf094168 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c | |||
@@ -407,6 +407,7 @@ enum rtl_register_content { | |||
407 | RxOK = 0x0001, | 407 | RxOK = 0x0001, |
408 | 408 | ||
409 | /* RxStatusDesc */ | 409 | /* RxStatusDesc */ |
410 | RxBOVF = (1 << 24), | ||
410 | RxFOVF = (1 << 23), | 411 | RxFOVF = (1 << 23), |
411 | RxRWT = (1 << 22), | 412 | RxRWT = (1 << 22), |
412 | RxRES = (1 << 21), | 413 | RxRES = (1 << 21), |
@@ -682,6 +683,7 @@ struct rtl8169_private { | |||
682 | struct mii_if_info mii; | 683 | struct mii_if_info mii; |
683 | struct rtl8169_counters counters; | 684 | struct rtl8169_counters counters; |
684 | u32 saved_wolopts; | 685 | u32 saved_wolopts; |
686 | u32 opts1_mask; | ||
685 | 687 | ||
686 | struct rtl_fw { | 688 | struct rtl_fw { |
687 | const struct firmware *fw; | 689 | const struct firmware *fw; |
@@ -3786,6 +3788,9 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
3786 | tp->intr_event = cfg->intr_event; | 3788 | tp->intr_event = cfg->intr_event; |
3787 | tp->napi_event = cfg->napi_event; | 3789 | tp->napi_event = cfg->napi_event; |
3788 | 3790 | ||
3791 | tp->opts1_mask = (tp->mac_version != RTL_GIGA_MAC_VER_01) ? | ||
3792 | ~(RxBOVF | RxFOVF) : ~0; | ||
3793 | |||
3789 | init_timer(&tp->timer); | 3794 | init_timer(&tp->timer); |
3790 | tp->timer.data = (unsigned long) dev; | 3795 | tp->timer.data = (unsigned long) dev; |
3791 | tp->timer.function = rtl8169_phy_timer; | 3796 | tp->timer.function = rtl8169_phy_timer; |
@@ -5324,7 +5329,7 @@ static int rtl8169_rx_interrupt(struct net_device *dev, | |||
5324 | u32 status; | 5329 | u32 status; |
5325 | 5330 | ||
5326 | rmb(); | 5331 | rmb(); |
5327 | status = le32_to_cpu(desc->opts1); | 5332 | status = le32_to_cpu(desc->opts1) & tp->opts1_mask; |
5328 | 5333 | ||
5329 | if (status & DescOwn) | 5334 | if (status & DescOwn) |
5330 | break; | 5335 | break; |