---------------------------
  
 +What: SCTP_GET_PEER_ADDRS_NUM_OLD, SCTP_GET_PEER_ADDRS_OLD,
 +      SCTP_GET_LOCAL_ADDRS_NUM_OLD, SCTP_GET_LOCAL_ADDRS_OLD
 +When:         June 2009
 +Why:    A newer version of the options have been introduced in 2005 that
 +      removes the limitions of the old API.  The sctp library has been
 +        converted to use these new options at the same time.  Any user
 +      space app that directly uses the old options should convert to using
 +      the new options.
 +Who:  Vlad Yasevich <vladislav.yasevich@hp.com>
++
++---------------------------
++
+ What: CONFIG_THERMAL_HWMON
+ When: January 2009
+ Why:  This option was introduced just to allow older lm-sensors userspace
+       to keep working over the upgrade to 2.6.26. At the scheduled time of
+       removal fixed lm-sensors (2.x or 3.x) should be readily available.
+ Who:  Rene Herman <rene.herman@gmail.com>
 
        }
  
        if (dev) {
 -              struct net_device_stats *stats = pvc_get_stats(dev);
 -              stats->rx_packets++; /* PVC traffic */
 -              stats->rx_bytes += skb->len;
 +              dev->stats.rx_packets++; /* PVC traffic */
 +              dev->stats.rx_bytes += skb->len;
                if (pvc->state.becn)
 -                      stats->rx_compressed++;
 +                      dev->stats.rx_compressed++;
+               skb->dev = dev;
                netif_rx(skb);
                return NET_RX_SUCCESS;
        } else {
 
  }
  
  
- int hostap_80211_header_parse(const struct sk_buff *skb, unsigned char *haddr)
+ static int hostap_80211_header_parse(const struct sk_buff *skb,
+                                    unsigned char *haddr)
  {
 -      struct hostap_interface *iface = netdev_priv(skb->dev);
 -      local_info_t *local = iface->local;
 -
 -      if (local->monitor_type == PRISM2_MONITOR_PRISM ||
 -          local->monitor_type == PRISM2_MONITOR_CAPHDR) {
 -              const unsigned char *mac = skb_mac_header(skb);
 -
 -              if (*(u32 *)mac == LWNG_CAP_DID_BASE) {
 -                      memcpy(haddr,
 -                             mac + sizeof(struct linux_wlan_ng_prism_hdr) + 10,
 -                             ETH_ALEN); /* addr2 */
 -              } else { /* (*(u32 *)mac == htonl(LWNG_CAPHDR_VERSION)) */
 -                      memcpy(haddr,
 -                             mac + sizeof(struct linux_wlan_ng_cap_hdr) + 10,
 -                             ETH_ALEN); /* addr2 */
 -              }
 -      } else
 -              memcpy(haddr, skb_mac_header(skb) + 10, ETH_ALEN); /* addr2 */
 -
 +      memcpy(haddr, skb_mac_header(skb) + 10, ETH_ALEN); /* addr2 */
        return ETH_ALEN;
  }
  
 
  
        IWL_DEBUG_MAC80211("enter\n");
  
+       if (priv->iw_mode == IEEE80211_IF_TYPE_MNTR) {
+               IWL_DEBUG_MAC80211("leave - monitor\n");
+               dev_kfree_skb_any(skb);
+               return 0;
+       }
+ 
        IWL_DEBUG_TX("dev->xmit(%d bytes) at rate 0x%02x\n", skb->len,
 -                   ctl->tx_rate->bitrate);
 +                   ieee80211_get_tx_rate(hw, IEEE80211_SKB_CB(skb))->bitrate);
  
 -      if (iwl3945_tx_skb(priv, skb, ctl))
 +      if (iwl3945_tx_skb(priv, skb))
                dev_kfree_skb_any(skb);
  
        IWL_DEBUG_MAC80211("leave\n");
 
        struct ieee80211_hw *hw = &local->hw;
        int queue;
  
-       tcf_destroy_chain(q->filter_list);
-       q->filter_list = NULL;
+       tcf_destroy_chain(&q->filter_list);
  
 -      for (queue=0; queue < hw->queues; queue++) {
 +      for (queue = 0; queue < QD_NUM(hw); queue++) {
                skb_queue_purge(&q->requeued[queue]);
                qdisc_destroy(q->queues[queue]);
                q->queues[queue] = &noop_qdisc;