devices/e100-2.6.29-ethercat.c
changeset 2589 2b9c78543663
parent 1506 41ca84fb6bb2
equal deleted inserted replaced
2415:af21f0bdc7c9 2589:2b9c78543663
  1095 
  1095 
  1096 	if (nic->flags & multicast_all)
  1096 	if (nic->flags & multicast_all)
  1097 		config->multicast_all = 0x1;		/* 1=accept, 0=no */
  1097 		config->multicast_all = 0x1;		/* 1=accept, 0=no */
  1098 
  1098 
  1099 	/* disable WoL when up */
  1099 	/* disable WoL when up */
  1100 	if (nic->ecdev || 
  1100 	if (nic->ecdev ||
  1101 			(netif_running(nic->netdev) || !(nic->flags & wol_magic)))
  1101 			(netif_running(nic->netdev) || !(nic->flags & wol_magic)))
  1102 		config->magic_packet_disable = 0x1;	/* 1=off, 0=on */
  1102 		config->magic_packet_disable = 0x1;	/* 1=off, 0=on */
  1103 
  1103 
  1104 	if (nic->mac >= mac_82558_D101_A4) {
  1104 	if (nic->mac >= mac_82558_D101_A4) {
  1105 		config->fc_disable = 0x1;	/* 1=Tx fc off, 0=Tx fc on */
  1105 		config->fc_disable = 0x1;	/* 1=Tx fc off, 0=Tx fc on */
  2788 	pci_pme_active(pdev, false);
  2788 	pci_pme_active(pdev, false);
  2789 
  2789 
  2790 	// offer device to EtherCAT master module
  2790 	// offer device to EtherCAT master module
  2791 	nic->ecdev = ecdev_offer(netdev, e100_ec_poll, THIS_MODULE);
  2791 	nic->ecdev = ecdev_offer(netdev, e100_ec_poll, THIS_MODULE);
  2792 	if (nic->ecdev) {
  2792 	if (nic->ecdev) {
  2793 		if (ecdev_open(nic->ecdev)) {
  2793 		err = ecdev_open(nic->ecdev);
       
  2794 		if (err) {
  2794 			ecdev_withdraw(nic->ecdev);
  2795 			ecdev_withdraw(nic->ecdev);
  2795 			goto err_out_free;
  2796 			goto err_out_free;
  2796 		}
  2797 		}
  2797 	} else {
  2798 	} else {
  2798 		strcpy(netdev->name, "eth%d");
  2799 		strcpy(netdev->name, "eth%d");
  2995 
  2996 
  2996 static int __init e100_init_module(void)
  2997 static int __init e100_init_module(void)
  2997 {
  2998 {
  2998 	printk(KERN_INFO DRV_NAME " " DRV_DESCRIPTION " " DRV_VERSION
  2999 	printk(KERN_INFO DRV_NAME " " DRV_DESCRIPTION " " DRV_VERSION
  2999 			", master " EC_MASTER_VERSION "\n");
  3000 			", master " EC_MASTER_VERSION "\n");
  3000  
  3001 
  3001  	return pci_register_driver(&e100_driver);
  3002  	return pci_register_driver(&e100_driver);
  3002 }
  3003 }
  3003 
  3004 
  3004 static void __exit e100_cleanup_module(void)
  3005 static void __exit e100_cleanup_module(void)
  3005 {
  3006 {