[PATCH] spi: correct bus_num and buffer bug in spi core

Correct the following in driver/spi/spi.c in function spi_busnum_to_master:

 * must allow bus_num 0, the if is really not needed.
 * correct the name buffer which is too small for bus_num >= 10000. It

should be 9 bytes big, not 8.

Signed-off-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Hans-Christian Egtvedt 2006-12-06 20:36:17 -08:00 committed by Linus Torvalds
parent ed2908f313
commit 4740d387f3

View File

@ -465,15 +465,13 @@ EXPORT_SYMBOL_GPL(spi_unregister_master);
*/ */
struct spi_master *spi_busnum_to_master(u16 bus_num) struct spi_master *spi_busnum_to_master(u16 bus_num)
{ {
if (bus_num) { char name[9];
char name[8]; struct kobject *bus;
struct kobject *bus;
snprintf(name, sizeof name, "spi%u", bus_num); snprintf(name, sizeof name, "spi%u", bus_num);
bus = kset_find_obj(&spi_master_class.subsys.kset, name); bus = kset_find_obj(&spi_master_class.subsys.kset, name);
if (bus) if (bus)
return container_of(bus, struct spi_master, cdev.kobj); return container_of(bus, struct spi_master, cdev.kobj);
}
return NULL; return NULL;
} }
EXPORT_SYMBOL_GPL(spi_busnum_to_master); EXPORT_SYMBOL_GPL(spi_busnum_to_master);