kernel functions issue!

Hello All,

I'm new to linux programming and this is my first post.I am porting ethernet driver from Linux2.4 to Linux2.6 for Xscale, after modifications I am able to install the driver.
Now when i assign the address to my device using ifconfig, kenerl is going to panic. Stack trace is showing it is due to NULL pointer dereference in recalc_sigpending(). Replacing it by signal_pending(current) saves that. I could not figure out te difference, since both will ultimately access only one kernel data structure i.e. current.
Could anyone please throw light onto it?

I have given relevant details hopefully, but if some important information is missing, please point out. I would improve in my subsequent posts.

Thanks in advance for any help.