Driver crash when changing a function from external to internal linkage

From: Evan Lavelle
Date: Wed Sep 15 2010 - 05:49:23 EST


I have an ISR which schedules a tasklet to handle an interrupt.

The tasklet is function A, which calls function B, which calls function C.

When all of A, B, and C have extern linkage, there's no problem. However, when B is declared static, the driver crashes, and hangs up the machine. The driver only crashes if C contains any code; if it's just an empty function then there's no problem.

Any thoughts on what the problem is here? This is x86_32/PAE, 2.6.18-53.el5PAE, gcc 4.1.2 (Red Hat 4.1.2-46).

Thanks -

Evan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/