+ int i=0;
+
+ DEBUGMSG("Resetting %s hardware ...\n", candev->hwname);
+ for (i = 0 ; i < 10 ; i++) {
+ m437_write_register(0x01,candev->dev_base_addr+candev->res_addr);
+ }
+ m437_write_register(0x0,candev->dev_base_addr+candev->res_addr);
+
+ /* Check hardware reset status */
+ i=0;
+ while ( (m437_read_register(candev->dev_base_addr+iCPU) & iCPU_RST) && (i<=15)) {
+ udelay(20000);
+ i++;
+ }
+ if (i>=15) {
+ CANMSG("M437 Reset status timeout! Please check your hardware.\n");
+ return -ENODEV;
+ }
+ else
+ DEBUGMSG("Chip0 reset status ok.\n");
+