#include "../include/can_iortl.h"
#endif /*CAN_WITH_RTL*/
-#if defined(CONFIG_OC_LINCAN_CARD_ul_usb1)
+#if defined(CONFIG_OC_LINCAN_CARD_usbcan)
#include "../include/usbcan.h"
#endif
struct candevice_t* register_usbdev(const char *hwname,void *anydev){
- int i=0, j, board;
+ int i=0, j, board=0;
struct candevice_t *candev;
struct canchip_t *chip;
struct boardtype_t *brp;
while ( (hw[board] != NULL) && (board < MAX_HW_CARDS) )
board++;
+ if (board>=MAX_HW_CARDS){
+ CANMSG("Maximum number of devices has been reached, no space for new device");
+ return NULL;
+ }
brp = boardtype_find(hwname);
if(!brp) {
CANMSG("Sorry, hardware \"%s\" is currently not supported.\n",hw[board]);
}
#endif
- for(i=0;i<MAX_TOT_MSGOBJS;i++) {
- if(!objects_p[i]) continue;
- if(objects_p[i]->hostchip->hostdevice != dev) continue;
- //canqueue_ends_done_chip(objects_p[i]->qends);
- //can_checked_free(objects_p[i]->qends);
- //can_checked_free(objects_p[i]);
- objects_p[i]=NULL;
- }
-
for(i=0;i<MAX_TOT_CHIPS;i++){
if(!chips_p[i]) continue;
if(chips_p[i]->hostdevice != dev) continue;
- //can_checked_free(chips_p[i]->chipspecops);
- //can_checked_free(chips_p[i]);
chips_p[i]=NULL;
}
hardware_p->candevice[dev->candev_idx]=NULL;
hardware_p->nr_boards--;
- //kfree(hw[dev->candev_idx]);
hw[dev->candev_idx]=NULL;
- //can_checked_free(dev->hwspecops);
- //can_checked_free(dev);
candevice_done(dev);
can_checked_free(dev);