Small changes in dapl_hca_alloc/dapl_hca_free function

Signed-off-by: Itamar Rabenstein <[EMAIL PROTECTED]>

diff -Nurp -X dontdiff dat-provider_hash/dapl_hca_util.c 
dat-provider/dapl_hca_util.c
--- dat-provider_hash/dapl_hca_util.c   Sun Jun 19 16:12:55 2005
+++ dat-provider/dapl_hca_util.c        Sun Jun 19 16:30:07 2005
@@ -54,23 +54,18 @@
 struct dapl_hca *dapl_hca_alloc(char *name, struct ib_device *device, u8 port)
 {
        struct dapl_hca *hca;
-
-       hca = kmalloc(sizeof *hca, GFP_ATOMIC);
+       int malloc_size = sizeof *hca + strlen(name) + 1;
+                
+       hca = kmalloc(malloc_size, GFP_ATOMIC);
        if (hca) {
-               memset(hca, 0, sizeof *hca);
-
+               memset(hca, 0, malloc_size);
                spin_lock_init(&hca->lock);
                INIT_LIST_HEAD(&hca->ia_list);
-
-               hca->name = dapl_os_strdup(name);
+               hca->name = (char *)hca + sizeof *hca;
+               strcpy(hca->name, name);
                hca->ib_hca_handle = device;
                hca->port_num = port;
-               if (hca->name == NULL) {
-                       kfree(hca);
-                       hca = NULL;
-               }
        }
-
        return hca;
 }
 
@@ -91,7 +86,6 @@ struct dapl_hca *dapl_hca_alloc(char *na
  */
 void dapl_hca_free(struct dapl_hca *hca)
 {
-       kfree(hca->name);
        kfree(hca);
 }
 
diff -Nurp -X dontdiff dat-provider_hash/dapl_util.h dat-provider/dapl_util.h
--- dat-provider_hash/dapl_util.h       Sun Jun 19 16:12:56 2005
+++ dat-provider/dapl_util.h    Sun Jun 19 16:30:52 2005
@@ -121,18 +121,6 @@ static inline void *dapl_os_realloc(void
 }
 
 /*
- * String Functions
- */
-
-static inline char *dapl_os_strdup(const char *str)
-{
-       char *ns = kmalloc(strlen(str) + 1, GFP_KERNEL);
-       if (ns)
-               strcpy(ns, str);
-       return ns;
-}
-
-/*
  * *printf format helper. We use the C string constant concatenation
  * ability to define 64 bit formats, which unfortunatly are non standard
  * in the C compiler world. 
-- 
Itamar
_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to