28 Oct, 2014

1 commit


27 Sep, 2014

1 commit

  • Some chip IDs are easier to read/understand when printed in a decimal
    form. For example on my bcm53xx arch router this patch replaces:
    Found chip with id 0xCF12, rev 0x00 and package 0x02
    with a:
    Found chip with id 53010, rev 0x00 and package 0x02

    Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki
     

10 Sep, 2014

3 commits


29 Aug, 2014

1 commit


01 Aug, 2014

1 commit


10 Sep, 2013

1 commit

  • On most 64 Bit systems unsigned long is 64 bit long and then -MAX_ERRNO
    is out of the range of a u32 used to store the error code in.
    This patch casts the -MAX_ERRNO to a u32 instead.

    This fixes a regression introduced in:
    commit fd4edf197544bae1c77d84bad354aa7ce1d08ce1
    Author: Hauke Mehrtens
    Date: Mon Jul 15 13:15:08 2013 +0200

    bcma: fix handling of big addrl

    Reported-by: Arend van Spriel
    Signed-off-by: Hauke Mehrtens
    Tested-by: Arend van Spriel
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

23 Jul, 2013

2 commits

  • The return value of bcma_erom_get_addr_desc() is a unsigned value and it
    could wrap around in the two complement writing. This happens for one
    core in the BCM4708 SoC.

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • These cores were found on a BCM4708 (chipid 53010), this is a ARM SoC
    with two Cortex A9 cores.

    bcma: bus0: Found chip with id 0xCF12, rev 0x00 and package 0x02
    bcma: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x2A, class 0x0)
    bcma: bus0: Core 1 found: DMA (manuf 0x4BF, id 0x502, rev 0x01, class 0x0)
    bcma: bus0: Core 2 found: GBit MAC (manuf 0x4BF, id 0x82D, rev 0x04, class 0x0)
    bcma: bus0: Core 3 found: GBit MAC (manuf 0x4BF, id 0x82D, rev 0x04, class 0x0)
    bcma: bus0: Core 4 found: GBit MAC (manuf 0x4BF, id 0x82D, rev 0x04, class 0x0)
    bcma: bus0: Core 5 found: GBit MAC (manuf 0x4BF, id 0x82D, rev 0x04, class 0x0)
    bcma: bus0: Core 6 found: PCIe Gen 2 (manuf 0x4BF, id 0x501, rev 0x01, class 0x0)
    bcma: bus0: Core 7 found: PCIe Gen 2 (manuf 0x4BF, id 0x501, rev 0x01, class 0x0)
    bcma: bus0: Core 8 found: ARM Cortex A9 core (ihost) (manuf 0x4BF, id 0x510, rev 0x01, class 0x0)
    bcma: bus0: Core 9 found: USB 2.0 (manuf 0x4BF, id 0x504, rev 0x01, class 0x0)
    bcma: bus0: Core 10 found: USB 3.0 (manuf 0x4BF, id 0x505, rev 0x01, class 0x0)
    bcma: bus0: Core 11 found: SDIO3 (manuf 0x4BF, id 0x503, rev 0x01, class 0x0)
    bcma: bus0: Core 12 found: ARM Cortex A9 JTAG (manuf 0x4BF, id 0x506, rev 0x01, class 0x0)
    bcma: bus0: Core 13 found: Denali DDR2/DDR3 memory controller (manuf 0x4BF, id 0x507, rev 0x01, class 0x0)
    bcma: bus0: Core 14 found: ROM (manuf 0x4BF, id 0x508, rev 0x01, class 0x0)
    bcma: bus0: Core 15 found: NAND flash controller (manuf 0x4BF, id 0x509, rev 0x01, class 0x0)
    bcma: bus0: Core 16 found: SPI flash controller (manuf 0x4BF, id 0x50A, rev 0x01, class 0x0)

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

18 May, 2013

1 commit


28 Mar, 2013

1 commit


27 Jul, 2012

1 commit

  • This should fix the problem reported by Fengguang:

    The coccinelle static checker emits these warnings:

    drivers/bcma/scan.c:466:3-9: ERROR: missing iounmap; ioremap on line 451 and execution via conditional on line 465
    drivers/bcma/scan.c:540:3-9: ERROR: missing iounmap; ioremap on line 515 and execution via conditional on line 539

    Reported-by: Fengguang Wu
    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

13 Jul, 2012

2 commits


10 Jul, 2012

1 commit

  • Having bus number printed makes it much easier to anaylze logs on
    systems with more buses. For example Netgear WNDR4500 has 3 AMBA buses
    in total, which makes standard log really messy.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki
     

28 Jun, 2012

1 commit


25 May, 2012

1 commit

  • Pull more networking updates from David Miller:
    "Ok, everything from here on out will be bug fixes."

    1) One final sync of wireless and bluetooth stuff from John Linville.
    These changes have all been in his tree for more than a week, and
    therefore have had the necessary -next exposure. John was just away
    on a trip and didn't have a change to send the pull request until a
    day or two ago.

    2) Put back some defines in user exposed header file areas that were
    removed during the tokenring purge. From Stephen Hemminger and Paul
    Gortmaker.

    3) A bug fix for UDP hash table allocation got lost in the pile due to
    one of those "you got it.. no I've got it.." situations. :-)

    From Tim Bird.

    4) SKB coalescing in TCP needs to have stricter checks, otherwise we'll
    try to coalesce overlapping frags and crash. Fix from Eric Dumazet.

    5) RCU routing table lookups can race with free_fib_info(), causing
    crashes when we deref the device pointers in the route. Fix by
    releasing the net device in the RCU callback. From Yanmin Zhang.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (293 commits)
    tcp: take care of overlaps in tcp_try_coalesce()
    ipv4: fix the rcu race between free_fib_info and ip_route_output_slow
    mm: add a low limit to alloc_large_system_hash
    ipx: restore token ring define to include/linux/ipx.h
    if: restore token ring ARP type to header
    xen: do not disable netfront in dom0
    phy/micrel: Fix ID of KSZ9021
    mISDN: Add X-Tensions USB ISDN TA XC-525
    gianfar:don't add FCB length to hard_header_len
    Bluetooth: Report proper error number in disconnection
    Bluetooth: Create flags for bt_sk()
    Bluetooth: report the right security level in getsockopt
    Bluetooth: Lock the L2CAP channel when sending
    Bluetooth: Restore locking semantics when looking up L2CAP channels
    Bluetooth: Fix a redundant and problematic incoming MTU check
    Bluetooth: Add support for Foxconn/Hon Hai AR5BBU22 0489:E03C
    Bluetooth: Fix EIR data generation for mgmt_device_found
    Bluetooth: Fix Inquiry with RSSI event mask
    Bluetooth: improve readability of l2cap_seq_list code
    Bluetooth: Fix skb length calculation
    ...

    Linus Torvalds
     

17 May, 2012

1 commit


19 Apr, 2012

1 commit

  • Some cores like the USB core have two address spaces. In the USB host
    controller one address space is used for the OHCI and the other for the
    EHCI controller interface. The USB controller is the only core I found
    with two address spaces. This code is based on the AI scan function
    ai_scan() in shared/aiutils.c in the Broadcom SDK.

    CC: Rafał Miłecki
    CC: linux-wireless@vger.kernel.org
    Signed-off-by: Hauke Mehrtens
    Signed-off-by: Greg Kroah-Hartman

    Hauke Mehrtens
     

16 Feb, 2012

1 commit


07 Feb, 2012

2 commits


02 Feb, 2012

1 commit

  • bcma_bus_scan() leaks 'struct bcma_device' bytes if
    bcma_get_next_core() returns error.

    Restructure the code so we always kfree() the memory we allocate to
    the variable 'core' before it goes out of scope.

    Signed-off-by: Jesper Juhl
    Signed-off-by: John W. Linville

    Jesper Juhl
     

25 Aug, 2011

1 commit


09 Aug, 2011

4 commits

  • This patch adds support for using bcma on a Broadcom SoC as the system
    bus. An SoC like the bcm4716 could register this bus and use it to
    searches for the bcma cores and register the devices on this bus.

    BCMA_HOSTTYPE_NONE was intended for SoCs at first but BCMA_HOSTTYPE_SOC
    is a better name.

    Acked-by: Rafał Miłecki
    Signed-off-by: Hauke Mehrtens
    Acked-by: Ralf Baechle
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • The chip common and mips core have to be setup early in the boot
    process to get the cpu clock.
    bcma_bus_early_register() gets pointers to some space to store the core
    data and searches for the chip common and mips core and initializes
    chip common. After that was done and the kernel is out of early boot we
    just have to run bcma_bus_register() and it will search for the other
    cores, initialize and register them.
    The cores are getting the same numbers as before.

    Acked-by: Rafał Miłecki
    Signed-off-by: Hauke Mehrtens
    Acked-by: Ralf Baechle
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • This makes it possible to use this code in some other method.

    Acked-by: Rafał Miłecki
    Signed-off-by: Hauke Mehrtens
    Acked-by: Ralf Baechle
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • Move the parsing of the EEPROM data in scan function for one core into
    an own function. Now we are able to use it in some other scan function
    as well.

    Acked-by: Rafał Miłecki
    Signed-off-by: Hauke Mehrtens
    Acked-by: Ralf Baechle
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

11 May, 2011

1 commit

  • Broadcom has released cards based on a new AMBA-based bus type. From a
    programming point of view, this new bus type differs from AMBA and does
    not use AMBA common registers. It also differs enough from SSB. We
    decided that a new bus driver is needed to keep the code clean.

    In its current form, the driver detects devices present on the bus and
    registers them in the system. It allows registering BCMA drivers for
    specified bus devices and provides them basic operations. The bus driver
    itself includes two important bus managing drivers: ChipCommon core
    driver and PCI(c) core driver. They are early used to allow correct
    initialization.

    Currently code is limited to supporting buses on PCI(e) devices, however
    the driver is designed to be used also on other hosts. The host
    abstraction layer is implemented and already used for PCI(e).

    Support for PCI(e) hosts is working and seems to be stable (access to
    80211 core was tested successfully on a few devices). We can still
    optimize it by using some fixed windows, but this can be done later
    without affecting any external code. Windows are just ranges in MMIO
    used for accessing cores on the bus.

    Cc: Greg KH
    Cc: Michael Büsch
    Cc: Larry Finger
    Cc: George Kashperko
    Cc: Arend van Spriel
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Russell King
    Cc: Arnd Bergmann
    Cc: Andy Botting
    Cc: linuxdriverproject
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki