On Wed, Nov 01, 2006 at 10:11:25PM -0800, Randy Dunlap wrote: > > wd_regs = ioremap_nocache(rr->start, rr->end + 1 - rr->start); > > if (unlikely(!wd_regs)) > > return -ENOMEM; > > There's no way to return the resources on failure? MIPS drivers (and this one is specific to a particular MIPS SOC) are generally a bit sloopy about checking of return values of ioremap because ioremap is only doing some address arithmetic but no allocations that actually could fail. So for 64-bit kernels or addresses below 0x20000000 on a 32-bit system ioremap cannot fail. In the same cases ioremap happens to be a no-op because where nothing was allocated nothing needs to be freed. > > if (unlikely(__copy_from_user(&val, (const void __user *) arg, Note to self, __copy_from_user and gang are generally assume to not return an error so it might be a good idea to move that unlikely() into the macro definitions. Ralf