summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorGrissiom <[email protected]>2013-09-22 22:12:04 +0800
committerGrissiom <[email protected]>2013-09-22 22:12:04 +0800
commit6d2df9bf9400acd6716a2a3c0b5c02f7973cc43c (patch)
tree0c9bd35d641f193600f55302d289192eefc5a3bf /components
parent7bdb082c91727b8ba90981051a81228db83bc20d (diff)
finsh: unregister rx_indicate when closing the device
Because the device could still remain opened when closed by finsh, the old rx_indicate is useless for finsh. Some buggy driver will still generate rx_indicate even after the device has been closed. So FinSh should unregister the rx_indicate when releasing the old device.
Diffstat (limited to 'components')
-rw-r--r--components/finsh/shell.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/components/finsh/shell.c b/components/finsh/shell.c
index 19dd93691e..8ff0e89e44 100644
--- a/components/finsh/shell.c
+++ b/components/finsh/shell.c
@@ -131,6 +131,7 @@ void finsh_set_device(const char* device_name)
{
/* close old finsh device */
rt_device_close(shell->device);
+ rt_device_set_rx_indicate(dev, RT_NULL);
}
shell->device = dev;