Changeset d43544e in rtems-libbsd


Ignore:
Timestamp:
Oct 1, 2014, 9:20:43 AM (7 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, b96abfd647154f10ea8f7fac68e25676636eded5, a2bc8eba467ce7eebacbb0f8c206e05a184dd16f, e5d5e097de85d56f1662493ccf0385125b85bec9, freebsd-9.3, e474ada48a2bb7ec4672622b279281560913e43d
Children:
6cfc98d
Parents:
9cea6da
git-author:
Sebastian Huber <sebastian.huber@…> (10/01/14 09:20:43)
git-committer:
Sebastian Huber <sebastian.huber@…> (10/08/14 12:51:21)
Message:

nexus: Fix resouce allocation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rtemsbsd/rtems/rtems-bsd-nexus.c

    r9cea6da rd43544e  
    133133    u_long start, u_long end, u_long count, u_int flags)
    134134{
    135         struct resource *rv;
    136135        struct rman *rm;
    137136        size_t i;
     
    153152                if (strcmp(device_get_name(child), nd->name) == 0
    154153                    && device_get_unit(child) == nd->unit) {
    155                         if (!nexus_get_start(nd, type, &start)) {
    156                                 return (NULL);
     154                        struct resource *res = NULL;
     155
     156                        if (nexus_get_start(nd, type, &start)) {
     157                                res = rman_reserve_resource(rm, start, end,
     158                                    count, flags, child);
     159                                if (res != NULL) {
     160                                        rman_set_rid(res, *rid);
     161                                        rman_set_bushandle(res,
     162                                            rman_get_start(res));
     163                                }
    157164                        };
    158                 } else {
    159                         return (NULL);
     165
     166                        return (res);
    160167                }
    161168        }
    162169
    163         rv = rman_reserve_resource(rm, start, end, count, flags, child);
    164         if (rv != NULL) {
    165                 rman_set_rid(rv, *rid);
    166                 rman_set_bushandle(rv, rman_get_start(rv));
    167         }
    168 
    169         return (rv);
     170        return (NULL);
    170171}
    171172
Note: See TracChangeset for help on using the changeset viewer.