1. 05 Jul, 2016 8 commits
  2. 04 Jul, 2016 3 commits
  3. 02 Jul, 2016 3 commits
    • Stefan Hauser's avatar
      net: phy: dp83867: Fix initialization of PHYCR register · b291c418
      Stefan Hauser authored
      When initializing the PHY control register, the FIFO depth bits are
      written without reading the previous register value, i.e. all other
      bits are overwritten with zero. This disables automatic MDI-X
      configuration, which is enabled by default. Fix initialization by doing
      a read/modify/write operation.
      Signed-off-by: default avatarStefan Hauser <stefan@shauser.net>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b291c418
    • Sergio Valverde's avatar
      enc28j60: Fix race condition in enc28j60 driver · 373819ec
      Sergio Valverde authored
      The interrupt worker code for the enc28j60 relies only on the TXIF flag to
      determinate if the packet transmission was completed. However the datasheet
      specifies in section 12.1.3 that TXERIF will clear the TXRTS after a
      transmit abort. Also in section 12.1.4 that TXIF will be set
      when TXRTS transitions from '1' to '0'. Therefore the TXIF flag is enabled
      during transmission errors.
      
      This causes a race condition, since the worker code will invoke
      enc28j60_tx_clear() -> netif_wake_queue(), potentially invoking the
      ndo_start_xmit function to send a new packet. The enc28j60_send_packet function
      uses a workqueue that invokes enc28j60_hw_tx(). In between this function is
      called, the worker from the interrupt handler will enter the path for error
      handler because of the TXERIF flag, causing to invoke enc28j60_tx_clear() again
      and releasing the packet scheduled for transmission, causing a kernel crash with
      due a NULL pointer.
      
      These crashes due a NULL pointer were observed under stress conditions of the
      device. A BUG_ON() sequence was used to validate the issue was fixed, and has
      been running without problems for 2 years now.
      Signed-off-by: default avatarDiego Dompe <dompe@hpe.com>
      Acked-by: default avatarSergio Valverde <sergio.valverde@hpe.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      373819ec
    • Matt Corallo's avatar
      net: stmmac: Fix null-function call in ISR on stmmac1000 · a8b7d770
      Matt Corallo authored
      (resent due to overhelpful mail client corrupting patch)
      
      At least on Meson GXBB, the CORE_IRQ_MTL_RX_OVERFLOW interrupt is thrown
      with the stmmac1000 driver, which does not support set_rx_tail_ptr. With
      this patch and the clock fixes, 1G ethernet works on ODROID-C2.
      Signed-off-by: default avatarMatt Corallo <git@bluematt.me>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a8b7d770
  4. 01 Jul, 2016 23 commits
  5. 30 Jun, 2016 3 commits