• Andy Fleming's avatar
    [PATCH] Fix locking in gianfar · fef6108d
    Andy Fleming authored
    This patch fixes several bugs in the gianfar driver, including a major one
    where spinlocks were horribly broken:
    
    * Split gianfar locks into two types: TX and RX
    * Made it so gfar_start() now clears RHALT
    * Fixed a bug where calling gfar_start_xmit() with interrupts off would
    corrupt the interrupt state
    * Fixed a bug where a frame could potentially arrive, and never be handled
    (if no more frames arrived
    * Fixed a bug where the rx_work_limit would never be observed by the rx
    completion code
    * Fixed a bug where the interrupt handlers were not actually protected by
    their spinlocks
    Signed-off-by: default avatarAndy Fleming <afleming@freescale.com>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    fef6108d
gianfar.c 51.9 KB