diff options
Diffstat (limited to 'net/irda/iriap.c')
-rw-r--r-- | net/irda/iriap.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/irda/iriap.c b/net/irda/iriap.c index 4a7ae32afa09..1138eaf5c682 100644 --- a/net/irda/iriap.c +++ b/net/irda/iriap.c | |||
@@ -185,8 +185,12 @@ struct iriap_cb *iriap_open(__u8 slsap_sel, int mode, void *priv, | |||
185 | 185 | ||
186 | self->magic = IAS_MAGIC; | 186 | self->magic = IAS_MAGIC; |
187 | self->mode = mode; | 187 | self->mode = mode; |
188 | if (mode == IAS_CLIENT) | 188 | if (mode == IAS_CLIENT) { |
189 | iriap_register_lsap(self, slsap_sel, mode); | 189 | if (iriap_register_lsap(self, slsap_sel, mode)) { |
190 | kfree(self); | ||
191 | return NULL; | ||
192 | } | ||
193 | } | ||
190 | 194 | ||
191 | self->confirm = callback; | 195 | self->confirm = callback; |
192 | self->priv = priv; | 196 | self->priv = priv; |