From: Ranulf Doswell <<a href="mailto:ralf@ranulf.net">ralf@ranulf.net</a>><br><br>Send a reset command to any device that sends us data when there is no active<br>connection to that device. This hopefully discourages the device from sending
<br>any more data which causes the syslog to fill up rapidly otherwise.<br><br>Signed-off-by: Ranulf Doswell <<a href="mailto:ralf@ranulf.net">ralf@ranulf.net</a>><br><br>---<br><br>An example device which causes this problem is the Sony Playstation six-axis
<br>controller which continues sending data even after the host is rebooted as<br>the linux kernel stack returns before the controller's stack times out.<br><br>This patch is against 2.6.22-rc5<br><br>diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
<br>index 8943c93..fb99b95 100644<br>--- a/net/bluetooth/hci_core.c<br>+++ b/net/bluetooth/hci_core.c<br>@@ -1340,6 +1340,12 @@ static inline void hci_acldata_packet(struct hci_dev *hdev, struct sk_buff *skb)<br> } else {
<br> BT_ERR("%s ACL packet for unknown connection handle %d",<br> hdev->name, handle);<br>+<br>+ /* Force the device to reset in the hope that it will then<br>
+ * leave us alone. In some devices, a reboot doesn't provide<br>+ * enough time for the device's stack to time out, so it keeps<br>+ * sending data until forcibly terminated. */
<br>+ hci_reset_req(hdev, 0);<br> }<br> <br> kfree_skb(skb);<br><br>