From 493ffdd8e012a4ca295cd1f2538eed808d378f02 Mon Sep 17 00:00:00 2001
From: Evgeniy Abdraimov <zelenoviy@gmail.com>
Date: Sun, 31 Mar 2013 21:59:08 +0400
Subject: [PATCH 2/2] Fix #7049
* Fix ref count
* In case of bsd diver reload save DEVICE_CLOSED flag
---
src/add-ons/kernel/network/stack/link.cpp | 1 +
src/libs/compat/freebsd_network/device.c | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/src/add-ons/kernel/network/stack/link.cpp b/src/add-ons/kernel/network/stack/link.cpp
index a1341aa..3cd9c39 100644
a
|
b
|
link_control(net_protocol* _protocol, int level, int option, void* value,
|
479 | 479 | = interface->device->media; |
480 | 480 | } |
481 | 481 | |
| 482 | put_device_interface(interface); |
482 | 483 | return user_memcpy(value, &request, sizeof(struct ifmediareq)); |
483 | 484 | } |
484 | 485 | |
diff --git a/src/libs/compat/freebsd_network/device.c b/src/libs/compat/freebsd_network/device.c
index ec2cf94..2b840cc 100644
a
|
b
|
compat_open(const char *name, uint32 flags, void **cookie)
|
60 | 60 | } |
61 | 61 | |
62 | 62 | ifp->if_flags |= IFF_UP; |
| 63 | ifp->flags &= ~DEVICE_CLOSED; |
63 | 64 | ifp->if_ioctl(ifp, SIOCSIFFLAGS, NULL); |
64 | 65 | |
65 | 66 | *cookie = ifp; |