Преглед на файлове

[kernel] fix device_open oflag comparison error. (#7512)

guo преди 2 години
родител
ревизия
12a4bb154a
променени са 1 файла, в които са добавени 1 реда и са изтрити 1 реда
  1. 1 1
      src/device.c

+ 1 - 1
src/device.c

@@ -235,7 +235,7 @@ rt_err_t rt_device_open(rt_device_t dev, rt_uint16_t oflag)
 
     /* device is not opened or opened by other oflag, call device_open interface */
     if (!(dev->open_flag & RT_DEVICE_OFLAG_OPEN) ||
-         ((dev->open_flag & RT_DEVICE_OFLAG_MASK) | (oflag & RT_DEVICE_OFLAG_MASK)))
+         ((dev->open_flag & RT_DEVICE_OFLAG_MASK) != (oflag & RT_DEVICE_OFLAG_MASK)))
     {
         if (device_open != RT_NULL)
         {