1. 22 9月, 2015 16 次提交
  2. 21 9月, 2015 18 次提交
  3. 18 9月, 2015 6 次提交
    • S
      Bluetooth: Fix reporting incorrect EIR in device found mgmt event · 6818375e
      Szymon Janc 提交于
      Some remote devices (ie Gigaset G-Tag) misbehave with ADV data length.
      This can lead to incorrect EIR format in device found event when
      ADV_DATA and SCAN_RSP are merged (terminator field before SCAN_RSP
      part).
      
      Fix this by inspecting ADV_DATA and correct its length if terminator
      is found.
      
      > HCI Event: LE Meta Event (0x3e) plen 42              [hci0] 32.172182
            LE Advertising Report (0x02)
              Num reports: 1
              Event type: Connectable undirected - ADV_IND (0x00)
              Address type: Public (0x00)
              Address: 7C:2F:80:94:97:5A (Gigaset Communications GmbH)
              Data length: 30
              Flags: 0x06
                LE General Discoverable Mode
                BR/EDR Not Supported
              Company: Gigaset Communications GmbH (384)
                Data: 021512348094975abbc5
              16-bit Service UUIDs (partial): 1 entry
                Battery Service (0x180f)
              RSSI: -65 dBm (0xbf)
      > HCI Event: LE Meta Event (0x3e) plen 27              [hci0] 32.172191
            LE Advertising Report (0x02)
              Num reports: 1
              Event type: Scan response - SCAN_RSP (0x04)
              Address type: Public (0x00)
              Address: 7C:2F:80:94:97:5A (Gigaset Communications GmbH)
              Data length: 15
              Name (complete): Gigaset G-tag
              RSSI: -59 dBm (0xc5)
      
      Note "Data length: 30" in ADV_DATA which results in 9 extra zero bytes
      after Battery Service UUID. Terminator field present in the middle of
      EIR in Device Found event resulted in userspace stop parsing EIR and
      skipping device name.
      
      @ Device Found: 7C:2F:80:94:97:5A (1) rssi -59 flags 0x0000
            02 01 06 0d ff 80 01 02 15 12 34 80 94 97 5a bb  ..........4...Z.
            c5 03 02 0f 18 00 00 00 00 00 00 00 00 00 0e 09  ................
            47 69 67 61 73 65 74 20 47 2d 74 61 67           Gigaset G-tag
      
      With this fix EIR with merged ADV_DATA and SCAN_RSP in device found
      event is properly formatted:
      
      @ Device Found: 7C:2F:80:94:97:5A (1) rssi -59 flags 0x0000
            02 01 06 0d ff 80 01 02 15 12 34 80 94 97 5a bb  ..........4...Z.
            c5 03 02 0f 18 0e 09 47 69 67 61 73 65 74 20 47  .......Gigaset G
            2d 74 61 67                                      -tag
      Signed-off-by: NSzymon Janc <ext.szymon.janc@tieto.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      6818375e
    • S
      Bluetooth: Add BT_ERR_RATELIMITED · e781b7f7
      Szymon Janc 提交于
      This patch adds ratelimited version of the BT_ERR macro.
      Signed-off-by: NSzymon Janc <ext.szymon.janc@tieto.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      e781b7f7
    • E
      sch_dsmark: improve memory locality · 47bbbb30
      Eric Dumazet 提交于
      Memory placement in sch_dsmark is silly : Better place mask/value
      in the same cache line.
      
      Also, we can embed small arrays in the first cache line and
      remove a potential cache miss.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      47bbbb30
    • D
      Merge branch 'bcmgenet-irq-coalesce' · 25354001
      David S. Miller 提交于
      Florian Fainelli says:
      
      ====================
      net: bcmgenet: Interrupt coalescing
      
      This patch series adds support for interrupt coalescing for GENET
      adapters.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      25354001
    • F
      net: bcmgenet: Implement RX coalescing control knobs · 4a29645b
      Florian Fainelli 提交于
      Add support for the ethtool rx-frames coalescing parameter which allows
      defining the number of RX interrupts per frames received. The RDMA
      engine supports a configurable timeout with a resolution of
      approximately 8.192 us.
      
      We can no longer enable the BDONE/PDONE interrupts as those would
      fire for each packet/buffer received, which would defeat the MBDONE
      interrupt purpose. The MBDONE interrupt is guaranteed to correspond to a
      PDONE/BDONE interrupt when the threshold is set to 1.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4a29645b
    • F
      net: bcmgenet: Implement TX coalescing control knobs · 2f913070
      Florian Fainelli 提交于
      Configuring the ethtool tx-frames property, which translates into N
      packets before a TX interrupt is the simplest configuration scheme
      because it requires no locking neither at the softare nor hardware
      level, and is completely indepedent from the link speed. Since ethtool
      does not allow per-tx queue coalescing parameters, we apply the same
      setting to any transmit queue.
      
      We can no longer enable the BDONE/PDONE interrupts as those would fire
      for each packet/buffer received, which would defeat the MBDONE interrupt
      purpose. The MBDONE interrupt is guaranteed to correspond to a
      PDONE/BDONE interrupt when the threshold is set to 1, but offers
      interrupt coalescing when the value is > 1.
      
      Since the HW is configured to generate an interrupt when the ring
      becomes emtpy, we have to deny any timeout/timer settings coming from
      user-space to indicate we can only generate an interrupt very <N>
      packets.
      
      While we are at it, fix the DMA_INTR_THRESHOLD_MASK value which was off
      by one bit (0xff vs. 0x1ff).
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2f913070