Hi Andi,
quoted hunk ↗ jump to hunk
diff -u linux-2.6.2-work32/net/bluetooth/rfcomm/tty.c-o linux-2.6.2-work32/net/bluetooth/rfcomm/tty.c
--- linux-2.6.2-work32/net/bluetooth/rfcomm/tty.c-o 2003-09-28 10:53:25.000000000 +0200
+++ linux-2.6.2-work32/net/bluetooth/rfcomm/tty.c 2004-02-06 04:58:28.000000000 +0100
@@ -549,8 +549,10 @@
BT_DBG("dev %p dst %s channel %d opened %d", dev, batostr(&dev->dst), dev->channel, dev->opened);
- if (dev->opened++ != 0)
+ if (dev->opened++ != 0) {
+ rfcomm_dev_put(dev);
return 0;
+ }
dlc = dev->dlc;
this part is wrong, because it is not an error case. It is success and
the refcount must stay increased.
Regards
Marcel