diff options
Diffstat (limited to 'packages/linux/linux-2.6.18/spi-fix-spi-busnum-to-master-buffer-and-bus_num-0.patch')
-rw-r--r-- | packages/linux/linux-2.6.18/spi-fix-spi-busnum-to-master-buffer-and-bus_num-0.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/packages/linux/linux-2.6.18/spi-fix-spi-busnum-to-master-buffer-and-bus_num-0.patch b/packages/linux/linux-2.6.18/spi-fix-spi-busnum-to-master-buffer-and-bus_num-0.patch new file mode 100644 index 0000000000..e5e040bc32 --- /dev/null +++ b/packages/linux/linux-2.6.18/spi-fix-spi-busnum-to-master-buffer-and-bus_num-0.patch @@ -0,0 +1,50 @@ +From 4740d387f3cb9e63f48f2488815b38a2c92755c8 Mon Sep 17 00:00:00 2001 +From: Hans-Christian Egtvedt <hcegtvedt@atmel.com> +Date: Wed, 6 Dec 2006 20:36:17 -0800 +Subject: [PATCH] [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> +--- + drivers/spi/spi.c | 16 +++++++--------- + 1 files changed, 7 insertions(+), 9 deletions(-) + +diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c +index 1a3c963..7d215ea 100644 +--- a/drivers/spi/spi.c ++++ b/drivers/spi/spi.c +@@ -465,15 +465,13 @@ EXPORT_SYMBOL_GPL(spi_unregister_master); + */ + struct spi_master *spi_busnum_to_master(u16 bus_num) + { +- if (bus_num) { +- char name[8]; +- struct kobject *bus; +- +- snprintf(name, sizeof name, "spi%u", bus_num); +- bus = kset_find_obj(&spi_master_class.subsys.kset, name); +- if (bus) +- return container_of(bus, struct spi_master, cdev.kobj); +- } ++ char name[9]; ++ struct kobject *bus; ++ ++ snprintf(name, sizeof name, "spi%u", bus_num); ++ bus = kset_find_obj(&spi_master_class.subsys.kset, name); ++ if (bus) ++ return container_of(bus, struct spi_master, cdev.kobj); + return NULL; + } + EXPORT_SYMBOL_GPL(spi_busnum_to_master); +-- +1.4.4.1 + |