svn commit: r237521 - head/sys/dev/ath/ath_hal/ar5416

Adrian Chadd adrian at FreeBSD.org
Sun Jun 24 06:37:29 UTC 2012


Author: adrian
Date: Sun Jun 24 06:37:28 2012
New Revision: 237521
URL: http://svn.freebsd.org/changeset/base/237521

Log:
  On second thought, let's just set both CRC and PHY errors together on
  frames that have it and let the upper layer sort it out.
  
  PR:		kern/169362

Modified:
  head/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c

Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c	Sun Jun 24 06:00:29 2012	(r237520)
+++ head/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c	Sun Jun 24 06:37:28 2012	(r237521)
@@ -231,8 +231,9 @@ ar5416ProcRxDesc(struct ath_hal *ah, str
 
 		/*
 		 * The AR5416 sometimes sets both AR_CRCErr and AR_PHYErr
-		 * when reporting radar pulses.  In this instance,
-		 * clear HAL_RXERR_CRC and set HAL_RXERR_PHY.
+		 * when reporting radar pulses.  In this instance
+		 * set HAL_RXERR_PHY as well as HAL_RXERR_CRC and
+		 * let the driver layer figure out what to do.
 		 *
 		 * See PR kern/169362.
 		 */
@@ -242,7 +243,9 @@ ar5416ProcRxDesc(struct ath_hal *ah, str
 			rs->rs_status |= HAL_RXERR_PHY;
 			phyerr = MS(ads->ds_rxstatus8, AR_PHYErrCode);
 			rs->rs_phyerr = phyerr;
-		} else if (ads->ds_rxstatus8 & AR_CRCErr)
+		}
+
+		if (ads->ds_rxstatus8 & AR_CRCErr)
 			rs->rs_status |= HAL_RXERR_CRC;
 		else if (ads->ds_rxstatus8 & AR_DecryptCRCErr)
 			rs->rs_status |= HAL_RXERR_DECRYPT;


More information about the svn-src-head mailing list