net: ppp_generic - fix regressions caused by IDR conversion
The commits:
7a95d267fb62cd6b80ef73be0592bbbe1dbd5df7
("net: ppp_generic - use idr technique instead of cardmaps")
ab5024ab23b78c86a0a1425defcdde48710fe449
("net: ppp_generic - use DEFINE_IDR for static initialization")
introduced usage of IDR functionality but broke userspace side.
Before this commits it was possible to allocate new ppp interface with
specified number. Now it fails with EINVAL. Fix it by trying to
allocate interface with specified unit number and return EEXIST if
fail which allow pppd to ask us to allocate new unit number.
And fix messages on memory allocation fails - add details that it's
PPP module who is complaining.
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>