]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] Fix locking in gianfar
authorAndy Fleming <afleming@freescale.com>
Thu, 20 Apr 2006 21:44:29 +0000 (16:44 -0500)
committerJeff Garzik <jeff@garzik.org>
Thu, 20 Apr 2006 21:55:06 +0000 (17:55 -0400)
commit1611cdddc33a73a970524ed4b82a364e7c7b6f54
treef35566dd3ddbda7cc84fc8a03aa3aebeea7dc746
parent331ecb9ffd0bcb5188e742cdfa553a9d0f611cf0
[PATCH] Fix locking in gianfar

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: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/gianfar.c
drivers/net/gianfar.h
drivers/net/gianfar_ethtool.c
drivers/net/gianfar_sysfs.c