From: Jeff Garzik While auditing a 'may be used uninitialized' warning, I found a minor bug: make_rate() has the standard error code convention -- zero for success, negative errno on error -- but its return type is defined as unsigned. Change the return type to reflect reality. Signed-off-by: Jeff Garzik Cc: Chas Williams Signed-off-by: Andrew Morton --- drivers/atm/ambassador.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/atm/ambassador.c~atm-ambassador-fix-return-code-bug drivers/atm/ambassador.c --- a/drivers/atm/ambassador.c~atm-ambassador-fix-return-code-bug +++ a/drivers/atm/ambassador.c @@ -915,8 +915,8 @@ static irqreturn_t interrupt_handler(int /********** make rate (not quite as much fun as Horizon) **********/ -static unsigned int make_rate (unsigned int rate, rounding r, - u16 * bits, unsigned int * actual) { +static int make_rate (unsigned int rate, rounding r, + u16 * bits, unsigned int * actual) { unsigned char exp = -1; // hush gcc unsigned int man = -1; // hush gcc _