summaryrefslogtreecommitdiff
path: root/sys/kern
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>1999-05-09 13:00:50 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>1999-05-09 13:00:50 +0000
commit52400704e9cf87ec71d3b17435b2a2ebf3f5356a (patch)
tree19d2c36694a29a6cac425d8882b00550cb15bf75 /sys/kern
parente3a3d09cb9668a2fe84a37d9572970362c38291d (diff)
Notes
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/kern_conf.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c
index 13952c3cbc1c..c20e2aa87214 100644
--- a/sys/kern/kern_conf.c
+++ b/sys/kern/kern_conf.c
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: kern_conf.c,v 1.34 1999/05/09 08:10:17 peter Exp $
+ * $Id: kern_conf.c,v 1.35 1999/05/09 08:18:12 phk Exp $
*/
#include <sys/param.h>
@@ -123,12 +123,21 @@ devsw_module_handler(module_t mod, int what, void* arg)
struct devsw_module_data* data = (struct devsw_module_data*) arg;
int error;
+ if (data->cmaj == NOMAJ)
+ data->cdev = NODEV;
+ else
+ data->cdev = makedev(data->cmaj, 0);
switch (what) {
case MOD_LOAD:
error = cdevsw_add(&data->cdev, data->cdevsw, NULL);
if (!error && data->cdevsw->d_strategy != nostrategy) {
- if (data->bdev == NODEV)
+ if (data->bmaj == NOMAJ) {
data->bdev = data->cdev;
+ data->bmaj = data->cmaj;
+ } else {
+ data->bdev = makedev(data->bmaj, 0);
+ }
+ data->cdevsw->d_maj = data->bmaj;
bmaj2cmaj[major(data->bdev)] = major(data->cdev);
}
if (!error && data->chainevh)