]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/irda/irlap_event.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6-omap-h63xx.git] / net / irda / irlap_event.c
index a505b5457608097238f8da41cdd3b6318e243425..a8b8873aa263f181c0f722d37ceeb96ba3feef9b 100644 (file)
@@ -25,7 +25,6 @@
  *
  ********************************************************************/
 
-#include <linux/config.h>
 #include <linux/string.h>
 #include <linux/kernel.h>
 #include <linux/delay.h>
@@ -317,23 +316,6 @@ void irlap_do_event(struct irlap_cb *self, IRLAP_EVENT event,
        }
 }
 
-/*
- * Function irlap_next_state (self, state)
- *
- *    Switches state and provides debug information
- *
- */
-static inline void irlap_next_state(struct irlap_cb *self, IRLAP_STATE state)
-{
-       /*
-       if (!self || self->magic != LAP_MAGIC)
-               return;
-
-       IRDA_DEBUG(4, "next LAP state = %s\n", irlap_state[state]);
-       */
-       self->state = state;
-}
-
 /*
  * Function irlap_state_ndm (event, skb, frame)
  *
@@ -591,7 +573,7 @@ static int irlap_state_query(struct irlap_cb *self, IRLAP_EVENT event,
                if (!self->discovery_log) {
                        IRDA_WARNING("%s: discovery log is gone! "
                                     "maybe the discovery timeout has been set"
-                                    " to short?\n", __FUNCTION__);
+                                    " too short?\n", __FUNCTION__);
                        break;
                }
                hashbin_insert(self->discovery_log,
@@ -828,7 +810,7 @@ static int irlap_state_conn(struct irlap_cb *self, IRLAP_EVENT event,
                irlap_disconnect_indication(self, LAP_DISC_INDICATION);
                break;
        default:
-               IRDA_DEBUG(1, "%s(), Unknown event %d, %s\n", __FUNCTION__, 
+               IRDA_DEBUG(1, "%s(), Unknown event %d, %s\n", __FUNCTION__,
                           event, irlap_event[event]);
 
                ret = -1;
@@ -865,7 +847,7 @@ static int irlap_state_setup(struct irlap_cb *self, IRLAP_EVENT event,
  *  between 15 msecs and 45 msecs.
  */
                        irlap_start_backoff_timer(self, msecs_to_jiffies(20 +
-                                                       (jiffies % 30)));
+                                                       (jiffies % 30)));
                } else {
                        /* Always switch state before calling upper layers */
                        irlap_next_state(self, LAP_NDM);
@@ -1087,7 +1069,6 @@ static int irlap_state_xmit_p(struct irlap_cb *self, IRLAP_EVENT event,
                        } else {
                                /* Final packet of window */
                                irlap_send_data_primary_poll(self, skb);
-                               irlap_next_state(self, LAP_NRM_P);
 
                                /*
                                 * Make sure state machine does not try to send
@@ -1378,7 +1359,7 @@ static int irlap_state_nrm_p(struct irlap_cb *self, IRLAP_EVENT event,
                                /* Resend rejected frames */
                                irlap_resend_rejected_frames(self, CMD_FRAME);
 
-                               /* Give peer some time to retransmit! 
+                               /* Give peer some time to retransmit!
                                 * But account for our own Tx. */
                                irlap_start_final_timer(self, 2 * self->final_timeout);
 
@@ -1437,14 +1418,14 @@ static int irlap_state_nrm_p(struct irlap_cb *self, IRLAP_EVENT event,
                 */
                self->remote_busy = FALSE;
 
+               /* Stop final timer */
+               del_timer(&self->final_timer);
+
                /*
                 *  Nr as expected?
                 */
                ret = irlap_validate_nr_received(self, info->nr);
                if (ret == NR_EXPECTED) {
-                       /* Stop final timer */
-                       del_timer(&self->final_timer);
-
                        /* Update Nr received */
                        irlap_update_nr_received(self, info->nr);
 
@@ -1476,14 +1457,12 @@ static int irlap_state_nrm_p(struct irlap_cb *self, IRLAP_EVENT event,
 
                        /* Resend rejected frames */
                        irlap_resend_rejected_frames(self, CMD_FRAME);
-
-                       /* Final timer ??? Jean II */
+                       irlap_start_final_timer(self, self->final_timeout * 2);
 
                        irlap_next_state(self, LAP_NRM_P);
                } else if (ret == NR_INVALID) {
                        IRDA_DEBUG(1, "%s(), Received RR with "
                                   "invalid nr !\n", __FUNCTION__);
-                       del_timer(&self->final_timer);
 
                        irlap_next_state(self, LAP_RESET_WAIT);