I guess what I was going to suggest is that you are overthinking the error handling. Your code tries very hard to allocate 32 buffers. But I bet it's just a matter of allocating the buffers and if it doesn't work then clean up and return an error. Probably it alocates 32 buffers successfully or it doesn't allocate any, it's less likely that we will allocate a partial number of buffers. If this were in the receive path or something like that then maybe we would worry about situations like that. Although even in that case probably the right approach would be to drop everything and let the protocol handle the error... Offtopic. What I mean is that this is in the init path so everything will likely work except in manufactured situations. regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html