On Wed, Oct 24, 2012 at 3:39 AM, Denis Kirjanov <[email protected]> wrote:
> On Wed, Oct 24, 2012 at 2:04 AM, Devendra Naga <[email protected]> 
> wrote:
>> --- a/drivers/staging/slicoss/slicoss.c
>> +++ b/drivers/staging/slicoss/slicoss.c
>> @@ -3667,6 +3667,8 @@ static u32 slic_card_locate(struct adapter *adapter)
>>         if (!physcard) {
>>                 /* no structure allocated for this physical card yet */
>>                 physcard = kzalloc(sizeof(struct physcard), GFP_ATOMIC);
>> +               if (!physcard)
>> +                       return -ENOMEM;
>
> You have not released the card pointer allocated earlier.

if card_hostid is SLIC_HOSTID_DEFAULT,

the below patch will take care of it:

diff --git a/drivers/staging/slicoss/slicoss.c
b/drivers/staging/slicoss/slicoss.c
index f08f459..801ccb4 100644
--- a/drivers/staging/slicoss/slicoss.c
+++ b/drivers/staging/slicoss/slicoss.c
@@ -3657,8 +3657,10 @@ static u32 slic_card_locate(struct adapter *adapter)
        if (!physcard) {
                /* no structure allocated for this physical card yet */
                physcard = kzalloc(sizeof(struct physcard), GFP_ATOMIC);
-               if (!physcard)
+               if (!physcard) {
+                       free(card);
                        return -ENOMEM;
+               }

                physcard->next = slic_global.phys_card;
                slic_global.phys_card = physcard;

if you ok with this i will submit with signoff.

thanks,
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to