AnsweredAssumed Answered

MQX_INVALID_POINTER task error set when closing a USB device handle after USB disconnection

Question asked by Jan Kubiznak on Oct 15, 2014
Latest reply on Oct 20, 2014 by soledad

Hello all,

I'd like to report a problem with the USB MSD umount proces. Generally I'm completely able to install and uninstall MFS on USB devices and also to access their file systems. However on every USB device disconnection a task error MQX_INVALID_POINTER is set.

 

MQX version: 4.1.1

HW: Kinetis70

 

For installation and uninstallation of MFS on USB I followed the steps described here:

http://cache.freescale.com/files/32bit/doc/app_note/AN3907.pdf

 

So - when I detect, that a device was attached, then I:

  1. Install USB-MFS device driver.

  2. Open the USB-MFS device driver.

  3. Install the file system driver.

  4. Open the file system driver.

 

And when I detect, that it was detached, then I:

  1. Close the file system driver.

  2. Uninstall the file system driver.

  3. Close the USB-MFS device driver.

  4. Uninstall the USB-MFS device driver.

 

And the error comes at the point (3) of the uninstallation.

 

Here the call stack:

  _task_set_error(MQX_INVALID_POINTER)

  _lwmem_free

  _io_usb_mfs_close

  _io_fclose

  fclose (hUsbDevice)

 

And here the error detail:

"_mem_free(fd_ptr->DEV_DATA_PTR);" is called from _io_usb_mfs_close(...), but my DEV_DATA_PTR is NULL.

 

Do I do something wrong? Or is it an MQX USB error?

Outcomes