X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=drivers%2Fatm%2Fatmtcp.c;h=0b0625054a87a5697c8e4745bfd49eb2d1bf45c0;hb=b9556f9a1abdc56a179ac7ba6053469373b6de0f;hp=b9101818b47b4012d9c5589d7b8ffd672cb26fc7;hpb=b74b953b998bcc2db91b694446f3a2619ec32de6;p=mv-sheeva.git diff --git a/drivers/atm/atmtcp.c b/drivers/atm/atmtcp.c index b9101818b47..0b0625054a8 100644 --- a/drivers/atm/atmtcp.c +++ b/drivers/atm/atmtcp.c @@ -366,7 +366,7 @@ static int atmtcp_create(int itf,int persist,struct atm_dev **result) if (!dev_data) return -ENOMEM; - dev = atm_dev_register(DEV_LABEL,&atmtcp_v_dev_ops,itf,NULL); + dev = atm_dev_register(DEV_LABEL,NULL,&atmtcp_v_dev_ops,itf,NULL); if (!dev) { kfree(dev_data); return itf == -1 ? -ENOMEM : -EBUSY; @@ -392,7 +392,10 @@ static int atmtcp_attach(struct atm_vcc *vcc,int itf) atm_dev_put(dev); return -EMEDIUMTYPE; } - if (PRIV(dev)->vcc) return -EBUSY; + if (PRIV(dev)->vcc) { + atm_dev_put(dev); + return -EBUSY; + } } else { int error;