1. 29 1月, 2021 22 次提交
    • J
      s390/qeth: don't fake a TX completion interrupt after TX error · d6e51503
      Julian Wiedmann 提交于
      When do_qdio() returns with an unexpected error, qeth_flush_buffers()
      kicks off a recovery action.
      
      In such a case there's no point in starting TX completion processing,
      the device gets torn down anyway. So take a closer look at do_qdio()'s
      return value, and skip the TX completion processing accordingly.
      Signed-off-by: NJulian Wiedmann <jwi@linux.ibm.com>
      Acked-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      d6e51503
    • J
      s390/qeth: make cast type selection for af_iucv skbs robust · a667fee1
      Julian Wiedmann 提交于
      As part of the TX queue selection for af_iucv skbs,
      qeth_l3_get_cast_type_rcu() ends up calling qeth_get_ether_cast_type().
      Which is rather fragile, since such skbs don't have a proper ETH header
      and we rely on it being zeroed out in the right places. Add a separate
      case for ETH_P_AF_IUCV instead that does the right thing.
      
      When later building the HW header for such skbs, don't hard-code the
      cast type but follow the same path as for other protocol types. Here
      the cast type should naturally come from the skb's queue mapping.
      Signed-off-by: NJulian Wiedmann <jwi@linux.ibm.com>
      Acked-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      a667fee1
    • J
      s390/qeth: pass proto to qeth_l3_get_cast_type() · c61dff3c
      Julian Wiedmann 提交于
      qeth_l3_hard_start_xmit() already determined the skb's proto. Avoid
      doing so a second time when it calls qeth_l3_get_cast_type().
      Signed-off-by: NJulian Wiedmann <jwi@linux.ibm.com>
      Acked-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      c61dff3c
    • J
      s390/qeth: remove qeth_get_ip_version() · 17f3a8b5
      Julian Wiedmann 提交于
      Replace our home-grown helper with the more robust vlan_get_protocol().
      This is pretty much a 1:1 replacement, we just need to pass around a
      proper ETH_P_* everyhwere and convert the old value range.
      
      For readability also convert the protocol checks in
      qeth_l3_hard_start_xmit() to a switch statement.
      Signed-off-by: NJulian Wiedmann <jwi@linux.ibm.com>
      Acked-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      17f3a8b5
    • J
      s390/qeth: clean up load/remove code for disciplines · ea12f1b3
      Julian Wiedmann 提交于
      We have two usage patterns:
      1. get & ->setup() a new discipline, or
      2. ->remove() & put the currently loaded one.
      
      Add corresponding helpers that hide the internals & error handling.
      Signed-off-by: NJulian Wiedmann <jwi@linux.ibm.com>
      Reviewed-by: NAlexandra Winter <wintera@linux.ibm.com>
      Acked-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      ea12f1b3
    • A
      net: ipa: don't pass size to ipa_cmd_transfer_add() · 070740d3
      Alex Elder 提交于
      The only time we transfer data (rather than issuing a command) out
      of the AP->command TX endpoint is when we're clearing the hardware
      pipeline.  All that's needed is a "small" data buffer, and its
      contents aren't even important.
      
      For convenience, we just transfer a command structure in this case
      (it's already mapped for DMA).  The TRE is added to a transaction
      using ipa_cmd_ip_tag_status_add(), but we ignore the size value
      provided to that function.  So just get rid of the size argument.
      Signed-off-by: NAlex Elder <elder@linaro.org>
      Acked-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      070740d3
    • A
      net: ipa: don't pass tag value to ipa_cmd_ip_tag_status_add() · 792b75b1
      Alex Elder 提交于
      We only send a tagged packet from the AP->command TX endpoint when
      we're clearing the hardware pipeline.  And when we receive the
      tagged packet we don't care what the actual tag value is.
      
      Stop passing a tag value to ipa_cmd_ip_tag_status_add(), and just
      encode 0 as the tag sent.  Fix the function that encodes the tag so
      it uses the proper byte ordering.
      Signed-off-by: NAlex Elder <elder@linaro.org>
      Acked-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      792b75b1
    • A
      net: ipa: signal when tag transfer completes · 51c48ce2
      Alex Elder 提交于
      There are times, such as when the modem crashes, when we issue
      commands to clear the IPA hardware pipeline.  These commands include
      a data transfer command that delivers a small packet directly to the
      default (AP<-LAN RX) endpoint.
      
      The places that do this wait for the transactions that contain these
      commands to complete, but the pipeline can't be assumed clear until
      the sent packet has been *received*.
      
      The small transfer will be delivered with a status structure, and
      that status will indicate its tag is valid.  This is the only place
      we send a tagged packet, so we use the tag to determine when the
      pipeline clear packet has arrived.
      
      Add a completion to the IPA structure to to be used to signal
      the receipt of a pipeline clear packet.  Create a new function
      ipa_cmd_pipeline_clear_wait() that will wait for that completion.
      
      Reinitialize the completion whenever pipeline clear commands are
      added to a transaction.  Extend ipa_endpoint_status_tag() to check
      whether a packet whose status contains a valid tag was sent from the
      AP->command TX endpoint, and if so, signal the new IPA completion.
      
      Have all callers of ipa_cmd_pipeline_clear_add() wait for the
      pipeline clear indication after the transaction that clears the
      pipeline has completed.
      Signed-off-by: NAlex Elder <elder@linaro.org>
      Acked-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      51c48ce2
    • A
      net: ipa: drop packet if status has valid tag · f6aba7b5
      Alex Elder 提交于
      Introduce ipa_endpoint_status_tag(), which returns true if received
      status indicates its tag field is valid.  The endpoint parameter is
      not yet used.
      
      Call this from ipa_status_drop_packet(), and drop the packet if the
      status indicates the tag was valid.  Pass the endpoint pointer to
      ipa_status_drop_packet(), and rename it ipa_endpoint_status_drop().
      The endpoint will be used in the next patch.
      Signed-off-by: NAlex Elder <elder@linaro.org>
      Acked-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      f6aba7b5
    • A
      net: ipa: minor update to handling of packet with status · 162fbc6f
      Alex Elder 提交于
      Rearrange some comments and assignments made when handling a packet
      that is received with status, aiming to improve understandability.
      
      Use DIV_ROUND_CLOSEST() to get a better per-packet true size estimate.
      Signed-off-by: NAlex Elder <elder@linaro.org>
      Acked-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      162fbc6f
    • A
      net: ipa: rename "tag status" symbols · aa56e3e5
      Alex Elder 提交于
      There is a set of functions and symbols related to performing
      "tag_process" immediate commands to clear the IPA pipeline.  The
      name is related to one of the commands issued when doing this, but
      it doesn't really convey the overall purpose of taking this action.
      
      The purpose is to take some steps to "clear out" the hardware
      pipeline, and to wait until that process completes, to ensure the
      IPA hardware is in a well-defined state.
      
      Rename these symbols to use "pipeline_clear" in their names instead.
      Add some comments to explain a bit more about what's going on.
      Signed-off-by: NAlex Elder <elder@linaro.org>
      Acked-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      aa56e3e5
    • A
      lan743x: fix endianness when accessing descriptors · 46251282
      Alexey Denisov 提交于
      TX/RX descriptor ring fields are always little-endian, but conversion
      wasn't performed for big-endian CPUs, so the driver failed to work.
      
      This patch makes the driver work on big-endian CPUs. It was tested and
      confirmed to work on NXP P1010 processor (PowerPC).
      Signed-off-by: NAlexey Denisov <rtgbnm@gmail.com>
      Link: https://lore.kernel.org/r/20210128044859.280219-1-rtgbnm@gmail.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      46251282
    • C
      e100: switch from 'pci_' to 'dma_' API · 4140ff1b
      Christophe JAILLET 提交于
      The wrappers in include/linux/pci-dma-compat.h should go away.
      
      The patch has been generated with the coccinelle script below and has been
      hand modified to replace GFP_ with a correct flag.
      It has been compile tested.
      
      When memory is allocated in 'e100_alloc()', GFP_KERNEL can be used because
      it is only called from the probe function and no lock is acquired.
      
      @@
      @@
      -    PCI_DMA_BIDIRECTIONAL
      +    DMA_BIDIRECTIONAL
      
      @@
      @@
      -    PCI_DMA_TODEVICE
      +    DMA_TO_DEVICE
      
      @@
      @@
      -    PCI_DMA_FROMDEVICE
      +    DMA_FROM_DEVICE
      
      @@
      @@
      -    PCI_DMA_NONE
      +    DMA_NONE
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_alloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_zalloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_free_consistent(e1, e2, e3, e4)
      +    dma_free_coherent(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_single(e1, e2, e3, e4)
      +    dma_map_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_single(e1, e2, e3, e4)
      +    dma_unmap_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4, e5;
      @@
      -    pci_map_page(e1, e2, e3, e4, e5)
      +    dma_map_page(&e1->dev, e2, e3, e4, e5)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_page(e1, e2, e3, e4)
      +    dma_unmap_page(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_sg(e1, e2, e3, e4)
      +    dma_map_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_sg(e1, e2, e3, e4)
      +    dma_unmap_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_cpu(e1, e2, e3, e4)
      +    dma_sync_single_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_device(e1, e2, e3, e4)
      +    dma_sync_single_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_cpu(e1, e2, e3, e4)
      +    dma_sync_sg_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_device(e1, e2, e3, e4)
      +    dma_sync_sg_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2;
      @@
      -    pci_dma_mapping_error(e1, e2)
      +    dma_mapping_error(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_dma_mask(e1, e2)
      +    dma_set_mask(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_consistent_dma_mask(e1, e2)
      +    dma_set_coherent_mask(&e1->dev, e2)
      Signed-off-by: NChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Link: https://lore.kernel.org/r/20210128210736.749724-1-christophe.jaillet@wanadoo.frSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      4140ff1b
    • S
      net: qmi_wwan: Add pass through mode · 59e139cf
      Subash Abhinov Kasiviswanathan 提交于
      Pass through mode is to allow packets in MAP format to be passed
      on to the stack. rmnet driver can be used to process and demultiplex
      these packets.
      
      Pass through mode can be enabled when the device is in raw ip mode only.
      Conversely, raw ip mode cannot be disabled when pass through mode is
      enabled.
      
      Userspace can use pass through mode in conjunction with rmnet driver
      through the following steps-
      
      1. Enable raw ip mode on qmi_wwan device
      2. Enable pass through mode on qmi_wwan device
      3. Create a rmnet device with qmi_wwan device as real device using netlink
      Signed-off-by: NSubash Abhinov Kasiviswanathan <subashab@codeaurora.org>
      Acked-by: NBjørn Mork <bjorn@mork.no>
      Link: https://lore.kernel.org/r/1611560015-20034-1-git-send-email-subashab@codeaurora.orgSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      59e139cf
    • D
      net: usb: qmi_wwan: add qmap id sysfs file for qmimux interfaces · e594ad98
      Daniele Palmas 提交于
      Add qmimux interface sysfs file qmap/mux_id to show qmap id set
      during the interface creation, in order to provide a method for
      userspace to associate QMI control channels to network interfaces.
      Signed-off-by: NDaniele Palmas <dnlplm@gmail.com>
      Acked-by: NBjørn Mork <bjorn@mork.no>
      Acked-by: NAleksander Morgado <aleksander@aleksander.es>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      e594ad98
    • T
      ipvlan: remove h from printk format specifier · d7a177ea
      Tom Rix 提交于
      This change fixes the checkpatch warning described in this commit
      commit cbacb5ab ("docs: printk-formats: Stop encouraging use of
        unnecessary %h[xudi] and %hh[xudi]")
      
      Standard integer promotion is already done and %hx and %hhx is useless
      so do not encourage the use of %hh[xudi] or %h[xudi].
      
      Cleanup output to use __func__ over explicit function strings.
      Signed-off-by: NTom Rix <trix@redhat.com>
      Link: https://lore.kernel.org/r/20210124190804.1964580-1-trix@redhat.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      d7a177ea
    • P
      net: sfp: add mode quirk for GPON module Ubiquiti U-Fiber Instant · f0b4f847
      Pali Rohár 提交于
      The Ubiquiti U-Fiber Instant SFP GPON module has nonsensical information
      stored in its EEPROM. It claims to support all transceiver types including
      10G Ethernet. Clear all claimed modes and set only 1000baseX_Full, which is
      the only one supported.
      
      This module has also phys_id set to SFF, and the SFP subsystem currently
      does not allow to use SFP modules detected as SFFs. Add exception for this
      module so it can be detected as supported.
      
      This change finally allows to detect and use SFP GPON module Ubiquiti
      U-Fiber Instant on Linux system.
      
      EEPROM content of this SFP module is (where XX is serial number):
      
      00: 02 04 0b ff ff ff ff ff ff ff ff 03 0c 00 14 c8    ???........??.??
      10: 00 00 00 00 55 42 4e 54 20 20 20 20 20 20 20 20    ....UBNT
      20: 20 20 20 20 00 18 e8 29 55 46 2d 49 4e 53 54 41        .??)UF-INSTA
      30: 4e 54 20 20 20 20 20 20 34 20 20 20 05 1e 00 36    NT      4   ??.6
      40: 00 06 00 00 55 42 4e 54 XX XX XX XX XX XX XX XX    .?..UBNTXXXXXXXX
      50: 20 20 20 20 31 34 30 31 32 33 20 20 60 80 02 41        140123  `??A
      Signed-off-by: NPali Rohár <pali@kernel.org>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      f0b4f847
    • P
      net: sfp: add workaround for Realtek RTL8672 and RTL9601C chips · 426c6cbc
      Pali Rohár 提交于
      The workaround for VSOL V2801F brand based GPON SFP modules added in commit
      0d035bed ("net: sfp: VSOL V2801F / CarlitoxxPro CPGOS03-0490 v2.0
      workaround") works only for IDs added explicitly to the list. Since there
      are rebranded modules where OEM vendors put different strings into the
      vendor name field, we cannot base workaround on IDs only.
      
      Moreover the issue which the above mentioned commit tried to work around is
      generic not only to VSOL based modules, but rather to all GPON modules
      based on Realtek RTL8672 and RTL9601C chips.
      
      These include at least the following GPON modules:
      * V-SOL V2801F
      * C-Data FD511GX-RM0
      * OPTON GP801R
      * BAUDCOM BD-1234-SFM
      * CPGOS03-0490 v2.0
      * Ubiquiti U-Fiber Instant
      * EXOT EGS1
      
      These Realtek chips have broken EEPROM emulator which for N-byte read
      operation returns just the first byte of EEPROM data, followed by N-1
      zeros.
      
      Introduce a new function, sfp_id_needs_byte_io(), which detects SFP modules
      with broken EEPROM emulator based on N-1 zeros and switch to 1 byte EEPROM
      reading operation.
      
      Function sfp_i2c_read() now always uses single byte reading when it is
      required and when function sfp_hwmon_probe() detects single byte access,
      it disables registration of hwmon device, because in this case we cannot
      reliably and atomically read 2 bytes as is required by the standard for
      retrieving values from diagnostic area.
      
      (These Realtek chips are broken in a way that violates SFP standards for
      diagnostic interface. Kernel in this case simply cannot do anything less
      of skipping registration of the hwmon interface.)
      
      This patch fixes reading of EEPROM content from SFP modules based on
      Realtek RTL8672 and RTL9601C chips. Diagnostic interface of EEPROM stays
      broken and cannot be fixed.
      
      Fixes: 0d035bed ("net: sfp: VSOL V2801F / CarlitoxxPro CPGOS03-0490 v2.0 workaround")
      Co-developed-by: NRussell King <rmk+kernel@armlinux.org.uk>
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      Signed-off-by: NPali Rohár <pali@kernel.org>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      426c6cbc
    • I
      mlxsw: spectrum_span: Do not overwrite policer configuration · b6f6881a
      Ido Schimmel 提交于
      The purpose of the delayed work in the SPAN module is to potentially
      update the destination port and various encapsulation parameters of SPAN
      agents that point to a VLAN device or a GRE tap. The destination port
      can change following the insertion of a new route, for example.
      
      SPAN agents that point to a physical port or the CPU port are static and
      never change throughout the lifetime of the SPAN agent. Therefore, skip
      over them in the delayed work.
      
      This fixes an issue where the delayed work overwrites the policer
      that was set on a SPAN agent pointing to the CPU. Modifying the delayed
      work to inherit the original policer configuration is error-prone, as
      the same will be needed for any new parameter.
      
      Fixes: 4039504e ("mlxsw: spectrum_span: Allow setting policer on a SPAN agent")
      Reviewed-by: NPetr Machata <petrm@nvidia.com>
      Signed-off-by: NIdo Schimmel <idosch@nvidia.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      b6f6881a
    • V
      stmmac: intel: Configure EHL PSE0 GbE and PSE1 GbE to 32 bits DMA addressing · 7cfc4486
      Voon Weifeng 提交于
      Fix an issue where dump stack is printed and Reset Adapter occurs when
      PSE0 GbE or/and PSE1 GbE is/are enabled. EHL PSE0 GbE and PSE1 GbE use
      32 bits DMA addressing whereas EHL PCH GbE uses 64 bits DMA addressing.
      
      [   25.535095] ------------[ cut here ]------------
      [   25.540276] NETDEV WATCHDOG: enp0s29f2 (intel-eth-pci): transmit queue 2 timed out
      [   25.548749] WARNING: CPU: 2 PID: 0 at net/sched/sch_generic.c:443 dev_watchdog+0x259/0x260
      [   25.558004] Modules linked in: 8021q bnep bluetooth ecryptfs snd_hda_codec_hdmi intel_gpy marvell intel_ishtp_loader intel_ishtp_hid iTCO_wdt mei_hdcp iTCO_vendor_support x86_pkg_temp_thermal kvm_intel dwmac_intel stmmac kvm igb pcs_xpcs irqbypass phylink snd_hda_intel intel_rapl_msr pcspkr dca snd_hda_codec i915 i2c_i801 i2c_smbus libphy intel_ish_ipc snd_hda_core mei_me intel_ishtp mei spi_dw_pci 8250_lpss spi_dw thermal dw_dmac_core parport_pc tpm_crb tpm_tis parport tpm_tis_core tpm intel_pmc_core sch_fq_codel uhid fuse configfs snd_sof_pci snd_sof_intel_byt snd_sof_intel_ipc snd_sof_intel_hda_common snd_sof_xtensa_dsp snd_sof snd_soc_acpi_intel_match snd_soc_acpi snd_intel_dspcfg ledtrig_audio snd_soc_core snd_compress ac97_bus snd_pcm snd_timer snd soundcore
      [   25.633795] CPU: 2 PID: 0 Comm: swapper/2 Tainted: G     U            5.11.0-rc4-intel-lts-MISMAIL5+ #5
      [   25.644306] Hardware name: Intel Corporation Elkhart Lake Embedded Platform/ElkhartLake LPDDR4x T4 RVP1, BIOS EHLSFWI1.R00.2434.A00.2010231402 10/23/2020
      [   25.659674] RIP: 0010:dev_watchdog+0x259/0x260
      [   25.664650] Code: e8 3b 6b 60 ff eb 98 4c 89 ef c6 05 ec e7 bf 00 01 e8 fb e5 fa ff 89 d9 4c 89 ee 48 c7 c7 78 31 d2 9e 48 89 c2 e8 79 1b 18 00 <0f> 0b e9 77 ff ff ff 0f 1f 44 00 00 48 c7 47 08 00 00 00 00 48 c7
      [   25.685647] RSP: 0018:ffffb7ca80160eb8 EFLAGS: 00010286
      [   25.691498] RAX: 0000000000000000 RBX: 0000000000000002 RCX: 0000000000000103
      [   25.699483] RDX: 0000000080000103 RSI: 00000000000000f6 RDI: 00000000ffffffff
      [   25.707465] RBP: ffff985709ce0440 R08: 0000000000000000 R09: c0000000ffffefff
      [   25.715455] R10: ffffb7ca80160cf0 R11: ffffb7ca80160ce8 R12: ffff985709ce039c
      [   25.723438] R13: ffff985709ce0000 R14: 0000000000000008 R15: ffff9857068af940
      [   25.731425] FS:  0000000000000000(0000) GS:ffff985864300000(0000) knlGS:0000000000000000
      [   25.740481] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   25.746913] CR2: 00005567f8bb76b8 CR3: 00000001f8e0a000 CR4: 0000000000350ee0
      [   25.754900] Call Trace:
      [   25.757631]  <IRQ>
      [   25.759891]  ? qdisc_put_unlocked+0x30/0x30
      [   25.764565]  ? qdisc_put_unlocked+0x30/0x30
      [   25.769245]  call_timer_fn+0x2e/0x140
      [   25.773346]  run_timer_softirq+0x1f3/0x430
      [   25.777932]  ? __hrtimer_run_queues+0x12c/0x2c0
      [   25.783005]  ? ktime_get+0x3e/0xa0
      [   25.786812]  __do_softirq+0xa6/0x2ef
      [   25.790816]  asm_call_irq_on_stack+0xf/0x20
      [   25.795501]  </IRQ>
      [   25.797852]  do_softirq_own_stack+0x5d/0x80
      [   25.802538]  irq_exit_rcu+0x94/0xb0
      [   25.806475]  sysvec_apic_timer_interrupt+0x42/0xc0
      [   25.811836]  asm_sysvec_apic_timer_interrupt+0x12/0x20
      [   25.817586] RIP: 0010:cpuidle_enter_state+0xd9/0x370
      [   25.823142] Code: 85 c0 0f 8f 0a 02 00 00 31 ff e8 22 d5 7e ff 45 84 ff 74 12 9c 58 f6 c4 02 0f 85 47 02 00 00 31 ff e8 7b a0 84 ff fb 45 85 f6 <0f> 88 ab 00 00 00 49 63 ce 48 2b 2c 24 48 89 c8 48 6b d1 68 48 c1
      [   25.844140] RSP: 0018:ffffb7ca800f7e80 EFLAGS: 00000206
      [   25.849996] RAX: ffff985864300000 RBX: 0000000000000003 RCX: 000000000000001f
      [   25.857975] RDX: 00000005f2028ea8 RSI: ffffffff9ec5907f RDI: ffffffff9ec62a5d
      [   25.865961] RBP: 00000005f2028ea8 R08: 0000000000000000 R09: 0000000000029d00
      [   25.873947] R10: 000000137b0e0508 R11: ffff9858643294e4 R12: ffff9858643336d0
      [   25.881935] R13: ffffffff9ef74b00 R14: 0000000000000003 R15: 0000000000000000
      [   25.889918]  cpuidle_enter+0x29/0x40
      [   25.893922]  do_idle+0x24a/0x290
      [   25.897536]  cpu_startup_entry+0x19/0x20
      [   25.901930]  start_secondary+0x128/0x160
      [   25.906326]  secondary_startup_64_no_verify+0xb0/0xbb
      [   25.911983] ---[ end trace b4c0c8195d0ba61f ]---
      [   25.917193] intel-eth-pci 0000:00:1d.2 enp0s29f2: Reset adapter.
      
      Fixes: 67c08ac4 ("net: stmmac: add EHL PSE0 & PSE1 1Gbps PCI info and PCI ID")
      Signed-off-by: NVoon Weifeng <weifeng.voon@intel.com>
      Co-developed-by: NMohammad Athari Bin Ismail <mohammad.athari.ismail@intel.com>
      Signed-off-by: NMohammad Athari Bin Ismail <mohammad.athari.ismail@intel.com>
      Link: https://lore.kernel.org/r/20210126100844.30326-1-mohammad.athari.ismail@intel.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      7cfc4486
    • W
      stmmac: intel: Add ADL-S 1Gbps PCI IDs · 88af9bd4
      Wong, Vee Khee 提交于
      Added PCI IDs for both Ethernet TSN Controllers on the ADL-S.
      
      Also, skip SerDes programming sequences as these are being carried out
      at the BIOS level for ADL-S.
      Signed-off-by: NWong, Vee Khee <vee.khee.wong@intel.com>
      Link: https://lore.kernel.org/r/20210126085832.3814-1-vee.khee.wong@intel.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      88af9bd4
    • G
      net: usb: cdc_ether: added support for Thales Cinterion PLSx3 modem family. · dad3a72f
      Giacinto Cifelli 提交于
      lsusb -v for this device:
      
      Bus 003 Device 007: ID 1e2d:0069
      Device Descriptor:
        bLength                18
        bDescriptorType         1
        bcdUSB               2.00
        bDeviceClass          239 Miscellaneous Device
        bDeviceSubClass         2 ?
        bDeviceProtocol         1 Interface Association
        bMaxPacketSize0        64
        idVendor           0x1e2d
        idProduct          0x0069
        bcdDevice            0.00
        iManufacturer           4 Cinterion Wireless Modules
        iProduct                3 PLSx3
        iSerial                 5 fa3c1419
        bNumConfigurations      1
        Configuration Descriptor:
          bLength                 9
          bDescriptorType         2
          wTotalLength          352
          bNumInterfaces         10
          bConfigurationValue     1
          iConfiguration          2 Cinterion Configuration
          bmAttributes         0xe0
            Self Powered
            Remote Wakeup
          MaxPower              500mA
          Interface Association:
            bLength                 8
            bDescriptorType        11
            bFirstInterface         0
            bInterfaceCount         2
            bFunctionClass          2 Communications
            bFunctionSubClass       2 Abstract (modem)
            bFunctionProtocol       1 AT-commands (v.25ter)
            iFunction               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        0
            bAlternateSetting       0
            bNumEndpoints           1
            bInterfaceClass         2 Communications
            bInterfaceSubClass      2 Abstract (modem)
            bInterfaceProtocol      1 AT-commands (v.25ter)
            iInterface              0
            CDC Header:
              bcdCDC               1.10
            CDC ACM:
              bmCapabilities       0x02
                line coding and serial state
            CDC Call Management:
              bmCapabilities       0x03
                call management
                use DataInterface
              bDataInterface          1
            CDC Union:
              bMasterInterface        0
              bSlaveInterface         1
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x81  EP 1 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               5
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        1
            bAlternateSetting       0
            bNumEndpoints           2
            bInterfaceClass        10 CDC Data
            bInterfaceSubClass      0 Unused
            bInterfaceProtocol      0
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x82  EP 2 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x01  EP 1 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval               0
          Interface Association:
            bLength                 8
            bDescriptorType        11
            bFirstInterface         2
            bInterfaceCount         2
            bFunctionClass          2 Communications
            bFunctionSubClass       2 Abstract (modem)
            bFunctionProtocol       1 AT-commands (v.25ter)
            iFunction               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        2
            bAlternateSetting       0
            bNumEndpoints           1
            bInterfaceClass         2 Communications
            bInterfaceSubClass      2 Abstract (modem)
            bInterfaceProtocol      1 AT-commands (v.25ter)
            iInterface              0
            CDC Header:
              bcdCDC               1.10
            CDC ACM:
              bmCapabilities       0x02
                line coding and serial state
            CDC Call Management:
              bmCapabilities       0x03
                call management
                use DataInterface
              bDataInterface          3
            CDC Union:
              bMasterInterface        2
              bSlaveInterface         3
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x83  EP 3 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               5
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        3
            bAlternateSetting       0
            bNumEndpoints           2
            bInterfaceClass        10 CDC Data
            bInterfaceSubClass      0 Unused
            bInterfaceProtocol      0
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x84  EP 4 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x02  EP 2 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval               0
          Interface Association:
            bLength                 8
            bDescriptorType        11
            bFirstInterface         4
            bInterfaceCount         2
            bFunctionClass          2 Communications
            bFunctionSubClass       2 Abstract (modem)
            bFunctionProtocol       1 AT-commands (v.25ter)
            iFunction               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        4
            bAlternateSetting       0
            bNumEndpoints           1
            bInterfaceClass         2 Communications
            bInterfaceSubClass      2 Abstract (modem)
            bInterfaceProtocol      1 AT-commands (v.25ter)
            iInterface              0
            CDC Header:
              bcdCDC               1.10
            CDC ACM:
              bmCapabilities       0x02
                line coding and serial state
            CDC Call Management:
              bmCapabilities       0x03
                call management
                use DataInterface
              bDataInterface          5
            CDC Union:
              bMasterInterface        4
              bSlaveInterface         5
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x85  EP 5 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               5
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        5
            bAlternateSetting       0
            bNumEndpoints           2
            bInterfaceClass        10 CDC Data
            bInterfaceSubClass      0 Unused
            bInterfaceProtocol      0
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x86  EP 6 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x03  EP 3 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval               0
          Interface Association:
            bLength                 8
            bDescriptorType        11
            bFirstInterface         6
            bInterfaceCount         2
            bFunctionClass          2 Communications
            bFunctionSubClass       2 Abstract (modem)
            bFunctionProtocol       1 AT-commands (v.25ter)
            iFunction               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        6
            bAlternateSetting       0
            bNumEndpoints           1
            bInterfaceClass         2 Communications
            bInterfaceSubClass      2 Abstract (modem)
            bInterfaceProtocol      1 AT-commands (v.25ter)
            iInterface              0
            CDC Header:
              bcdCDC               1.10
            CDC ACM:
              bmCapabilities       0x02
                line coding and serial state
            CDC Call Management:
              bmCapabilities       0x03
                call management
                use DataInterface
              bDataInterface          7
            CDC Union:
              bMasterInterface        6
              bSlaveInterface         7
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x87  EP 7 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               5
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        7
            bAlternateSetting       0
            bNumEndpoints           2
            bInterfaceClass        10 CDC Data
            bInterfaceSubClass      0 Unused
            bInterfaceProtocol      0
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x88  EP 8 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x04  EP 4 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval               0
          Interface Association:
            bLength                 8
            bDescriptorType        11
            bFirstInterface         8
            bInterfaceCount         2
            bFunctionClass          2 Communications
            bFunctionSubClass       0
            bFunctionProtocol       0
            iFunction               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        8
            bAlternateSetting       0
            bNumEndpoints           1
            bInterfaceClass         2 Communications
            bInterfaceSubClass      6 Ethernet Networking
            bInterfaceProtocol      0
            iInterface              0
            CDC Header:
              bcdCDC               1.10
            CDC Ethernet:
              iMacAddress                      1 00A0C6C14190
              bmEthernetStatistics    0x00000000
              wMaxSegmentSize              16384
              wNumberMCFilters            0x0001
              bNumberPowerFilters              0
            CDC Union:
              bMasterInterface        8
              bSlaveInterface         9
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x89  EP 9 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               5
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        9
            bAlternateSetting       0
            bNumEndpoints           0
            bInterfaceClass        10 CDC Data
            bInterfaceSubClass      0 Unused
            bInterfaceProtocol      0
            iInterface              0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        9
            bAlternateSetting       1
            bNumEndpoints           2
            bInterfaceClass        10 CDC Data
            bInterfaceSubClass      0 Unused
            bInterfaceProtocol      0
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x8a  EP 10 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x05  EP 5 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval               0
      Device Qualifier (for other device speed):
        bLength                10
        bDescriptorType         6
        bcdUSB               2.00
        bDeviceClass          239 Miscellaneous Device
        bDeviceSubClass         2 ?
        bDeviceProtocol         1 Interface Association
        bMaxPacketSize0        64
        bNumConfigurations      1
      Device Status:     0x0000
        (Bus Powered)
      Signed-off-by: NGiacinto Cifelli <gciofono@gmail.com>
      Link: https://lore.kernel.org/r/20210126044245.8455-1-gciofono@gmail.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      dad3a72f
  2. 28 1月, 2021 18 次提交