Hi, Dan. 2014-06-20 18:09 GMT+09:00 Dan Carpenter <dan.carpenter@xxxxxxxxxx>: > On Fri, Jun 20, 2014 at 02:19:58PM +0900, Daeseok Youn wrote: >> - rc = dgap_found_board(pdev, ent->driver_data, dgap_numboards); >> - if (rc) >> + brd = dgap_found_board(pdev, ent->driver_data, dgap_numboards); >> + if (IS_ERR(brd)) >> return rc; > > return ERR_PTR(brd); ok.. you mean PTR_ERR(brd), right? I will send it again after changing from rc to "PTR_ERR(brd)" > > >> >> - brd = dgap_board[dgap_numboards++]; >> rc = dgap_firmware_load(pdev, ent->driver_data, brd); >> if (rc) >> goto cleanup_brd; >> @@ -617,6 +617,8 @@ static int dgap_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) >> brd->state = BOARD_READY; >> brd->dpastatus = BD_RUNNING; >> >> + dgap_board[dgap_numboards++] = brd; > > You need to update the error handling of this function to remove the > reference do dgap_board[] as well. Yes, It need to update code in cleanup_brd label. Thanks regards, Daeseok Youn > >> + >> return 0; >> > > regards, > dan carpenter > _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel