]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] tekram-sir driver fix
authorJean Tourrilhes <jt@bougret.hpl.hp.com>
Fri, 8 Aug 2003 17:14:54 +0000 (13:14 -0400)
committerLinus Torvalds <torvalds@home.osdl.org>
Fri, 8 Aug 2003 17:14:54 +0000 (13:14 -0400)
ir260_tekram-sir.diff :
~~~~~~~~~~~~~~~~~~~~~
<Patch from Martin Diehl>
o [CORRECT] Update tekram-sir dongle driver to common power-settling

drivers/net/irda/tekram-sir.c

index 8c326d30e5c7142f491d0815ac1ca29d7fe4efd3..a6574b82cfab344eeb817872e2219a567a9ecbee 100644 (file)
@@ -71,38 +71,20 @@ void __exit tekram_sir_cleanup(void)
        irda_unregister_dongle(&tekram);
 }
 
-#define TEKRAM_STATE_POWERED   (SIRDEV_STATE_DONGLE_OPEN + 1)
-
 static int tekram_open(struct sir_dev *dev)
 {
-       unsigned delay = 0;
-       unsigned next_state = dev->fsm.substate;
        struct qos_info *qos = &dev->qos;
 
        IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
 
-       switch(dev->fsm.substate) {
+       dev->set_dtr_rts(dev, TRUE, TRUE);
+       qos->baud_rate.bits &= IR_9600|IR_19200|IR_38400|IR_57600|IR_115200;
+       qos->min_turn_time.bits = 0x01; /* Needs at least 10 ms */      
+       irda_qos_bits_to_value(qos);
 
-       case SIRDEV_STATE_DONGLE_OPEN:
-               dev->set_dtr_rts(dev, TRUE, TRUE);
-               next_state = TEKRAM_STATE_POWERED;
-               delay = 50;
-               break;
-
-       case TEKRAM_STATE_POWERED:
-               qos->baud_rate.bits &= IR_9600|IR_19200|IR_38400|IR_57600|IR_115200;
-               qos->min_turn_time.bits = 0x01; /* Needs at least 10 ms */      
-               irda_qos_bits_to_value(qos);
-               return 0;
+       /* irda thread waits 50 msec for power settling */
 
-       default:
-               ERROR("%s - undefined state\n", __FUNCTION__);
-               return -EINVAL;
-       }
-
-       dev->fsm.substate = next_state;
-
-       return delay;
+       return 0;
 }
 
 static int tekram_close(struct sir_dev *dev)