]> git.baikalelectronics.ru Git - kernel.git/commit
rapidio: run discovery as an asynchronous process
authorAlexandre Bounine <alexandre.bounine@idt.com>
Fri, 5 Oct 2012 00:16:08 +0000 (17:16 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 5 Oct 2012 18:05:22 +0000 (03:05 +0900)
commit91b4b1240951ea5f817d71e2b668e1b3bbf45ece
tree9aea8b929ab5efc237d699cc36a4bed6adb51ad4
parent9a867fbdb29e23568a77d8f7824b13488f18e383
rapidio: run discovery as an asynchronous process

Modify mport initialization routine to run the RapidIO discovery process
asynchronously.  This allows to have an arbitrary order of enumerating and
discovering ports in systems with multiple RapidIO controllers without
creating a deadlock situation if enumerator port is registered after a
discovering one.

Making netID matching to mportID ensures consistent net ID assignment in
multiport RapidIO systems with asynchronous discovery process (global
counter implementation is affected by race between threads).

[akpm@linux-foundation.org: tweak code layput]
Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com>
Cc: Matt Porter <mporter@kernel.crashing.org>
Cc: Li Yang <leoli@freescale.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/rapidio/rio-scan.c
drivers/rapidio/rio.c