Changeset aaf6155 in mainline for uspace/drv/usbhid/usbhid.c


Ignore:
Timestamp:
2011-04-15T13:07:17Z (13 years ago)
Author:
Lubos Slovak <lubos.slovak@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
27eb1fe, 8fd4ba0
Parents:
d7f08b0d
Message:

Bugfix in HID driver (in case of error in init, the structure was freed twice).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/usbhid/usbhid.c

    rd7f08b0d raaf6155  
    360360        rc = usb_hid_check_pipes(hid_dev, dev);
    361361        if (rc != EOK) {
    362                 usb_hid_free(&hid_dev);
     362                //usb_hid_free(&hid_dev);
    363363                return rc;
    364364        }
     
    368368        if (rc != EOK) {
    369369                usb_log_error("Failed to initialize report parser.\n");
    370                 usb_hid_free(&hid_dev);
     370                //usb_hid_free(&hid_dev);
    371371                return rc;
    372372        }
     
    386386                            " device.\n");
    387387                        fallback = true;
     388                        assert(hid_dev->subdrivers == NULL);
     389                        assert(hid_dev->subdriver_count == 0);
    388390                }
    389391        } else {
     
    426428                usb_log_error("No subdriver for handling this device could be"
    427429                    " initialized: %s.\n", str_error(rc));
    428                 usb_hid_free(&hid_dev);
     430                usb_log_debug("Subdriver count: %d\n",
     431                    hid_dev->subdriver_count);
     432                //usb_hid_free(&hid_dev);
    429433        } else {
    430434                bool ok = false;
     
    550554        }
    551555       
     556        usb_log_debug("Subdrivers: %p, subdriver count: %d\n",
     557            (*hid_dev)->subdrivers, (*hid_dev)->subdriver_count);
     558       
    552559        assert((*hid_dev)->subdrivers != NULL
    553560            || (*hid_dev)->subdriver_count == 0);
Note: See TracChangeset for help on using the changeset viewer.