1. 25 4月, 2017 29 次提交
  2. 23 4月, 2017 4 次提交
  3. 22 4月, 2017 7 次提交
    • A
      net: arc_emac: switch to phy_start()/phy_stop() · b18b7453
      Alexander Kochetkov 提交于
      Currently driver use phy_start_aneg() in arc_emac_open() to bring
      up PHY. But phy_start() function is more appropriate for this purposes.
      Besides that it call phy_start_aneg() as part of PHY startup sequence
      it also can correctly bring up PHY from error and suspended states.
      So the patch replace phy_start_aneg() to phy_start().
      
      Also the patch add call to phy_stop() to arc_emac_stop() to allow
      the PHY device to be fully suspended when the interface is unused.
      Signed-off-by: NAlexander Kochetkov <al.kochet@gmail.com>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b18b7453
    • N
      ibmvnic: Remove unused bouce buffer · d76e0fec
      Nathan Fontenot 提交于
      The bounce buffer is not used in the ibmvnic driver, just
      get rid of it.
      Signed-off-by: NNathan Fontenot <nfont@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d76e0fec
    • N
      ibmvnic: Allocate zero-filled memory for sub crqs · 7f7adc50
      Nathan Fontenot 提交于
      Update the allocation of memory for the sub crq structs and their
      associated pages to allocate zero-filled memory.
      Signed-off-by: NNathan Fontenot <nfont@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7f7adc50
    • B
      ibmvnic: Disable irq prior to close · dd9c20fa
      Brian King 提交于
          Add some code to call disable_irq on all the vnic interface's irqs.
          This fixes a crash observed when closing an active interface, as
          seen in the oops below when we try to access a buffer in the interrupt
          handler which we've already freed.
      
          Unable to handle kernel paging request for data at address 0x00000001
          Faulting instruction address: 0xd000000003886824
          Oops: Kernel access of bad area, sig: 11 [#1]
          SMP NR_CPUS=2048 NUMA pSeries
          Modules linked in: ibmvnic(OEN) rpadlpar_io(X) rpaphp(X) tcp_diag udp_diag inet_diag unix_diag af_packet_diag netlink_diag rpcsec_
          Supported: No, Unsupported modules are loaded
          CPU: 8 PID: 0 Comm: swapper/8 Tainted: G           OE   NX 4.4.49-92.11-default #1
          task: c00000007f990110 ti: c0000000fffa0000 task.ti: c00000007f9b8000
          NIP: d000000003886824 LR: d000000003886824 CTR: c0000000007eff60
          REGS: c0000000fffa3a70 TRAP: 0300   Tainted: G           OE   NX  (4.4.49-92.11-default)
          MSR: 8000000000009033 <SF,EE,ME,IR,DR,RI,LE>  CR: 22008042  XER: 20000008
          CFAR: c000000000008468 DAR: 0000000000000001 DSISR: 40000000 SOFTE: 0
          GPR00: d000000003886824 c0000000fffa3cf0 d000000003894118 0000000000000000
          GPR04: 0000000000000000 0000000000000000 c000000001249da0 0000000000000000
          GPR08: 000000000000000e 0000000000000000 c0000000ccb00000 d000000003889180
          GPR12: c0000000007eff60 c000000007af4c00 0000000000000001 c0000000010def30
          GPR16: c00000007f9b8000 c000000000b98c30 c00000007f9b8080 c000000000bab858
          GPR20: 0000000000000005 0000000000000000 c0000000ff5d7e80 c0000000f809f648
          GPR24: c0000000ff5d7ec8 0000000000000000 0000000000000000 c0000000ccb001a0
          GPR28: 000000000000000a c0000000f809f600 c0000000fd4cd900 c0000000f9cd5b00
          NIP [d000000003886824] ibmvnic_interrupt_tx+0x114/0x380 [ibmvnic]
          LR [d000000003886824] ibmvnic_interrupt_tx+0x114/0x380 [ibmvnic]
          Call Trace:
          [c0000000fffa3cf0] [d000000003886824] ibmvnic_interrupt_tx+0x114/0x380 [ibmvnic] (unreliable)
          [c0000000fffa3dd0] [c000000000132940] __handle_irq_event_percpu+0x90/0x2e0
          [c0000000fffa3e90] [c000000000132bcc] handle_irq_event_percpu+0x3c/0x90
          [c0000000fffa3ed0] [c000000000132c88] handle_irq_event+0x68/0xc0
          [c0000000fffa3f00] [c000000000137edc] handle_fasteoi_irq+0xec/0x250
          [c0000000fffa3f30] [c000000000131b04] generic_handle_irq+0x54/0x80
          [c0000000fffa3f60] [c000000000011190] __do_irq+0x80/0x1d0
          [c0000000fffa3f90] [c0000000000248d8] call_do_irq+0x14/0x24
          [c00000007f9bb9e0] [c000000000011380] do_IRQ+0xa0/0x120
          [c00000007f9bba40] [c000000000002594] hardware_interrupt_common+0x114/0x180
      Signed-off-by: NBrian King <brking@linux.vnet.ibm.com>
      Signed-off-by: NNathan Fontenot <nfont@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dd9c20fa
    • N
      ibmvnic: Correct crq and resource releasing · 37489055
      Nathan Fontenot 提交于
      We should not be releasing the crq's when calling close for the
      adapter, these need to remain open to facilitate operations such
      as updating the mac address. The crq's should be released in the
      adpaters remove routine.
      
      Additionally, we need to call release_reources from remove. This
      corrects the scenario of trying to remove an adapter that has only
      been probed.
      Signed-off-by: NNathan Fontenot <nfont@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      37489055
    • N
      ibmvnic: Remove inflight list · 661a2622
      Nathan Fontenot 提交于
      The inflight list used to track memory that is allocated for crq that are
      inflight is not needed. The one piece of the inflight list that does need
      to be cleaned at module exit is the error buffer list which is already
      attached to the adapter struct.
      
      This patch removes the inflight list and moves checking the error buffer
      list to ibmvnic_remove.
      Signed-off-by: NNathan Fontenot <nfont@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      661a2622
    • B
      ibmvnic: Do not disable IRQ after scheduling tasklet · ed7ecbf7
      Brian King 提交于
      Since the primary CRQ is only used for service functions and
      not in the performance path, simplify the code a bit and avoid
      disabling the IRQ.
      Signed-off-by: NBrian King <brking@linux.vnet.ibm.com>
      Signed-off-by: NNathan Fontenot <nfont@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ed7ecbf7