From: Milton Miller Date: Wed, 18 May 2011 15:27:39 +0000 (-0500) Subject: of: fix race when matching drivers X-Git-Tag: v2.6.39~2^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=01294d82622d6d9d64bde8e4530c7e2c6dbb6ee6;p=pandora-kernel.git of: fix race when matching drivers If two drivers are probing devices at the same time, both will write their match table result to the dev->of_match cache at the same time. Only write the result if the device matches. In a thread titled "SBus devices sometimes detected, sometimes not", Meelis reported his SBus hme was not detected about 50% of the time. From the debug suggested by Grant it was obvious another driver matched some devices between the call to match the hme and the hme discovery failling. Reported-by: Meelis Roos Signed-off-by: Milton Miller [grant.likely: modified to only call of_match_device() once] Signed-off-by: Grant Likely --- Reading git-diff-tree failed