From: Thomas Gleixner Date: Thu, 16 Dec 2010 13:06:35 +0000 (+0000) Subject: drivers: serial: apbuart: Handle OF failures gracefully X-Git-Tag: v2.6.38-rc1~464^2~3 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=35c64e5d13c3d7d8c4ad061ad5e20498b9160c24;p=pandora-kernel.git drivers: serial: apbuart: Handle OF failures gracefully The apbuart driver depends on OF and relies on everything being available. So if it's probed on a platform which has OF support, but no device tree is available it crashes. Triggered by the upcoming x86 OF support in randconfig testing. Further it's inconsistent vs. the probing and exiting from the of_match loop. Make it robust and consistent: - check the availablility of OF nodes before dereferencing - return -ENODEV when the device tree lookup fails - return -ENODEV when no uart port configuration is found - return -ENODEV when invalid uart port configuration is found Remove the enum_done check while at it. Driver init functions are only called once. Remove the pointless vendor and device queries as well. Reported-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: Grant Likely Cc: Kristoffer Glembo Signed-off-by: Greg Kroah-Hartman --- Reading git-diff-tree failed