Author: hselasky
Date: Tue Jul 29 22:02:27 2014
New Revision: 269268
URL: http://svnweb.freebsd.org/changeset/base/269268

Log:
  MFC r269127:
  Fix for division by zero.

Modified:
  stable/8/sys/dev/usb/wlan/if_rum.c
  stable/8/sys/dev/usb/wlan/if_ural.c
  stable/8/sys/dev/usb/wlan/if_zyd.c
  stable/8/sys/dev/usb/wlan/if_zydreg.h
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/dev/   (props changed)
  stable/8/sys/dev/usb/   (props changed)

Modified: stable/8/sys/dev/usb/wlan/if_rum.c
==============================================================================
--- stable/8/sys/dev/usb/wlan/if_rum.c  Tue Jul 29 22:00:54 2014        
(r269267)
+++ stable/8/sys/dev/usb/wlan/if_rum.c  Tue Jul 29 22:02:27 2014        
(r269268)
@@ -1019,6 +1019,8 @@ rum_setup_tx_desc(struct rum_softc *sc, 
                desc->plcp_length_hi = plcp_length >> 6;
                desc->plcp_length_lo = plcp_length & 0x3f;
        } else {
+               if (rate == 0)
+                       rate = 2;       /* avoid division by zero */
                plcp_length = (16 * len + rate - 1) / rate;
                if (rate == 22) {
                        remainder = (16 * len) % 22;

Modified: stable/8/sys/dev/usb/wlan/if_ural.c
==============================================================================
--- stable/8/sys/dev/usb/wlan/if_ural.c Tue Jul 29 22:00:54 2014        
(r269267)
+++ stable/8/sys/dev/usb/wlan/if_ural.c Tue Jul 29 22:02:27 2014        
(r269268)
@@ -1022,6 +1022,8 @@ ural_setup_tx_desc(struct ural_softc *sc
                desc->plcp_length_hi = plcp_length >> 6;
                desc->plcp_length_lo = plcp_length & 0x3f;
        } else {
+               if (rate == 0)
+                       rate = 2;       /* avoid division by zero */
                plcp_length = (16 * len + rate - 1) / rate;
                if (rate == 22) {
                        remainder = (16 * len) % 22;

Modified: stable/8/sys/dev/usb/wlan/if_zyd.c
==============================================================================
--- stable/8/sys/dev/usb/wlan/if_zyd.c  Tue Jul 29 22:00:54 2014        
(r269267)
+++ stable/8/sys/dev/usb/wlan/if_zyd.c  Tue Jul 29 22:02:27 2014        
(r269268)
@@ -2457,7 +2457,7 @@ zyd_tx_start(struct zyd_softc *sc, struc
        const struct ieee80211_txparam *tp;
        struct ieee80211_key *k;
        int rate, totlen;
-       static uint8_t ratediv[] = ZYD_TX_RATEDIV;
+       static const uint8_t ratediv[] = ZYD_TX_RATEDIV;
        uint8_t phy;
        uint16_t pktlen;
        uint32_t bits;

Modified: stable/8/sys/dev/usb/wlan/if_zydreg.h
==============================================================================
--- stable/8/sys/dev/usb/wlan/if_zydreg.h       Tue Jul 29 22:00:54 2014        
(r269267)
+++ stable/8/sys/dev/usb/wlan/if_zydreg.h       Tue Jul 29 22:02:27 2014        
(r269268)
@@ -970,7 +970,7 @@
 
 #define        ZYD_TX_RATEDIV                                                  
\
 {                                                                      \
-       0x1, 0x2, 0xb, 0xb, 0x0, 0x0, 0x0, 0x0, 0x30, 0x18, 0xc, 0x6,   \
+       0x1, 0x2, 0xb, 0xb, 0x1, 0x1, 0x1, 0x1, 0x30, 0x18, 0xc, 0x6,   \
        0x36, 0x24, 0x12, 0x9                                           \
 }
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to