1. 05 Feb, 2013 1 commit
    • Paul Gortmaker's avatar
      gianfar: dont conditionally alloc Rx/Err irq structs · 7c1e7e99
      Paul Gortmaker authored
      Commit ee873fda
      
          "gianfar: Pack struct gfar_priv_grp into three cachelines"
      
      causes the following null dereference at driver init on sbc8548:
      
         libphy: Freescale PowerQUICC MII Bus: probed
         Unable to handle kernel paging request for data at address 0x00000000
         Faulting instruction address: 0xc01d6a38
         Oops: Kernel access of bad area, sig: 11 [#1]
         [...]
         NIP [c01d6a38] gfar_parse_group+0x228/0x280
         LR [c01d6a34] gfar_parse_group+0x224/0x280
         Call Trace:
         [ef82dd60] [c01d6a34] gfar_parse_group+0x224/0x280 (unreliable)
         [ef82dd90] [c01d73a4] gfar_probe+0x284/0xfe0
      
      The reason is that the commit also changed the allocation of the
      Rx and error handling irq structs to be skipped for !MQ_MG_MODE.
      In the !MQ_MG_MODE case, only the Tx irq struct is allocated.
      
      Digging further, we see that MQ_MG_MODE is set only if we find
      the OF compatible string "fsl,etsec2".
      
      A quick grep in the dts directory shows lots of boards that support
      Rx/Tx/Err, but without this specific compat string.  And hence they
      go after the unallocated Rx/Error structs and cause the above oops.
      
      Hence such a change can not be deployed until all the dts files
      are updated and sufficiently deployed.  Further, the optimization
      is of limited value, since the kmalloc'd struct in question has only
      a single unsigned int, and an (IFNAMSIZ + 6) sized string.
      
      Note that no changes to the freeing code are needed here, as it
      already did an unconditional free of Rx/Tx/Error gfar_irqinfo.
      
      Cc: Claudiu Manoil <claudiu.manoil@freescale.com>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7c1e7e99
  2. 04 Feb, 2013 25 commits
  3. 03 Feb, 2013 5 commits
    • Alexey Khoroshilov's avatar
      stmmac: don't return zero on failure path in stmmac_pci_probe() · 4f463855
      Alexey Khoroshilov authored
      If stmmac_dvr_probe() fails in stmmac_pci_probe(), it breaks off initialization,
      deallocates all resources, but returns zero.
      The patch adds -ENODEV as return value in this case.
      
      Found by Linux Driver Verification project (linuxtesting.org).
      Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4f463855
    • David S. Miller's avatar
      Merge branch 'delete-wanrouter' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux · 33397a71
      David S. Miller authored
      Paul Gortmaker says:
      
      ====================
      The removal of wanrouter code was originally listed in the (now
      gone) feature removal file since May 2012, and an RFC of the
      deletion was posted[1] in late 2012.  The overall concept was given
      an OK, but defconfig contamination, build failures, etc. meant that
      it didn't quite make it into mainline for 3.8.
      
      Since that time, Dan discovered (via code audit) a runtime bug that
      proves nobody has been using this for over four years[2].  With that
      new information, I think it makes sense for someone to follow through
      on Joe's original RFC and get this done for the 3.9 release.
      
      In addition to resolving the build failures of the RFC by keeping
      stub headers, this also splits the change into two parts, just like
      the token ring removal did.  Part #1 decouples the mainline kernel
      from the expired subsystem, and part #2 does the large scale
      deletion of the subsystem content.
      
      The advantage of the above, is that a "git blame" will never lead
      you to a 4000+ line deletion commit.  The large scale deletion will
      never show up in a "git blame" and hence the same advantages that we
      get from the "--irreversible-delete" in the review stage of "git
      format-patch" are also embedded into the git history itself.  This
      may seem like a moot point to some, but for those who spend a
      considerable amount of time data mining in the git history, this is
      probably worth doing.
      
      I have done build tests of all[mod/yes]config for both the stage 1
      (Makefile and Kconfig) and stage 2 (full driver delete) as a sanity
      check, and the issues with the previously posted RFC should be gone.
      
      Speaking of "--irreversible-delete" -- these patches were created
      with that option, so if you want to use them locally, you are going
      to have to pull (location below) the content instead of doing a
      "git am" of the mailed out content.
      
      [1] http://patchwork.ozlabs.org/patch/198794/
      [2] http://www.spinics.net/lists/netdev/msg218670.html
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      33397a71
    • Dan Carpenter's avatar
      qlcnic: silence false positive overflow warning · 7bc48646
      Dan Carpenter authored
      We actually store the MAC address as well as the board_name here.  The
      longest board_name is 75 characters so there is more than enough room
      to hold the 17 character MAC and the ": " divider.  But making this
      buffer larger silences a static checker warning.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Acked-By: default avatarJitendra Kalsaria <jitendra.kalsaria@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7bc48646
    • Mahesh Bandewar's avatar
      bnx2x: Force link UP when the interface is in LOOPBACK mode · 7614fe88
      Mahesh Bandewar authored
      When the interface does not have carrier but when it's put into
      loopback mode (for tests), it does not make sense to not have
      the carrier. So force it!
      Signed-off-by: default avatarMahesh Bandewar <maheshb@google.com>
      Acked-by: default avatarEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7614fe88
    • David S. Miller's avatar
      Merge branch 'intel' · daef2262
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      This series contains updates to ixgbe and e1000e.  The ixgbe patches are
      a mix of fixes, cleanup and added functionality.  The first fix is for
      traffic classes, where if the mapping has changed reset the NIC.  The other
      ixgbe fix resolves an issue where the device lookup neglected to do a
      pci_dev_put() to decrement the device reference count.
      
      The ixgbe cleanup was done by Josh, where the auto-negotiation variables
      were renamed/cleaned up and refactored.
      
      The remaining patches are from Bruce to do additional cleanup on e1000e as
      well as bump the driver version.  Most notably is the cleanup to use the
      kernel IEEE MII definitions where possible instead of the local MII
      definitions.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      daef2262
  4. 01 Feb, 2013 9 commits