self = instance;
        sk = instance;
-       IRDA_ASSERT(sk != NULL, return -1;);
 
        err = sock_queue_rcv_skb(sk, skb);
        if (err) {
 
        IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
 
-       IRDA_ASSERT(self != NULL, return;);
-
        skb = alloc_skb(TTP_MAX_HEADER + TTP_SAR_HEADER,
                        GFP_ATOMIC);
        if (skb == NULL) {
 
        self = instance;
        sk = instance;
-       IRDA_ASSERT(sk != NULL, return;);
+       BUG_ON(sk == NULL);
 
        switch (flow) {
        case FLOW_STOP:
        IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
 
        self = (struct irda_sock *) priv;
-       IRDA_ASSERT(self != NULL, return;);
+       BUG_ON(self == NULL);
 
        /* Nothing for the caller */
        self->cachelog = NULL;
 {
        IRDA_DEBUG(2, "%s(%p, %s)\n", __FUNCTION__, self, name);
 
-       IRDA_ASSERT(self != NULL, return -1;);
-
        if (self->iriap) {
                IRDA_WARNING("%s(): busy with a previous query\n",
                             __FUNCTION__);
 
        IRDA_DEBUG(2, "%s(), name=%s\n", __FUNCTION__, name);
 
-       IRDA_ASSERT(self != NULL, return -1;);
-
        /* Ask lmp for the current discovery log
         * Note : we have to use irlmp_get_discoveries(), as opposed
         * to play with the cachelog directly, because while we are
        struct irda_sock *self = irda_sk(sk);
        int err;
 
-       IRDA_ASSERT(self != NULL, return -1;);
-
        IRDA_DEBUG(2, "%s(%p)\n", __FUNCTION__, self);
 
        if (addr_len != sizeof(struct sockaddr_irda))
 
        IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
 
-       IRDA_ASSERT(self != NULL, return -1;);
-
        err = irda_create(newsock, sk->sk_protocol);
        if (err)
                return err;
        }
 
        newsk = newsock->sk;
+       if (newsk == NULL)
+               return -EIO;
+
        newsk->sk_state = TCP_ESTABLISHED;
 
        new = irda_sk(newsk);
-       IRDA_ASSERT(new != NULL, return -1;);
 
        /* Now attach up the new socket */
        new->tsap = irttp_dup(self->tsap, new);
 {
        IRDA_DEBUG(2, "%s(%p)\n", __FUNCTION__, self);
 
-       IRDA_ASSERT(self != NULL, return;);
-
        /* Unregister with IrLMP */
        irlmp_unregister_client(self->ckey);
        irlmp_unregister_service(self->skey);
                return -ENOTCONN;
 
        self = irda_sk(sk);
-       IRDA_ASSERT(self != NULL, return -1;);
 
        /* Check if IrTTP is wants us to slow down */
 
 
        IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
 
-       IRDA_ASSERT(self != NULL, return -1;);
-
        if ((err = sock_error(sk)) < 0)
                return err;
 
 
        IRDA_DEBUG(3, "%s()\n", __FUNCTION__);
 
-       IRDA_ASSERT(self != NULL, return -1;);
-
        if ((err = sock_error(sk)) < 0)
                return err;
 
                return -ENOTCONN;
 
        self = irda_sk(sk);
-       IRDA_ASSERT(self != NULL, return -1;);
 
        /*
         * Check that we don't send out too big frames. This is an unreliable
        }
 
        self = irda_sk(sk);
-       IRDA_ASSERT(self != NULL, return -1;);
 
        /* Check if an address was specified with sendto. Jean II */
        if (msg->msg_name) {
        struct sock *sk = sock->sk;
        struct irda_sock *self = irda_sk(sk);
 
-       IRDA_ASSERT(self != NULL, return -1;);
-
        IRDA_DEBUG(1, "%s(%p)\n", __FUNCTION__, self);
 
        sk->sk_state       = TCP_CLOSE;
        struct ias_attrib *     ias_attr;       /* Attribute in IAS object */
        int opt;
 
-       IRDA_ASSERT(self != NULL, return -1;);
-
        IRDA_DEBUG(2, "%s(%p)\n", __FUNCTION__, self);
 
        if (level != SOL_IRLMP)