]> git.baikalelectronics.ru Git - kernel.git/commit
firewire: core: retry on local errors in bus manager election
authorClemens Ladisch <clemens@ladisch.de>
Thu, 10 Jun 2010 06:23:28 +0000 (08:23 +0200)
committerClemens Ladisch <clemens@ladisch.de>
Thu, 10 Jun 2010 06:23:28 +0000 (08:23 +0200)
commitbf853ba79cb52f1f98e4ebc5c94db0a14a2ea586
tree1f7146d8951a5addac9932a071a6f0e4a4d97182
parentcea9aca5ca4d92cf542fce5d0eb4bfd898312185
firewire: core: retry on local errors in bus manager election

When the candidate bus manager fails to do the lock request with which
it tries to become bus manager, it assumes that the current IRM is not
actually IRM capable and forces itself to become root.  However, if that
lock request failed because the local node itself was not able to send
it, then we cannot blame the current IRM and should not steal its
rootness.

In this case, RCODE_SEND_ERROR is likely to indicate a temporary error
condition such as exhausted tlabels or low memory, so we better try
again later.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
drivers/firewire/core-card.c