Commit 9385d861 authored by Jes Sorensen's avatar Jes Sorensen Committed by Greg Kroah-Hartman
Browse files

staging: rtl8723au: Get rid of rtl8723au_set_hal_ops() and get rid of hal_ops.h



Since rtl8723au_set_hal_ops() is just a kmalloc(), move it to
rtw_usb_if1_init() and fix the error handling to not leak memory.

This also allows us to get rid of hal_ops.h

Signed-off-by: default avatarJes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 02d50c22
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@

#include <hal_intf.h>

#include <usb_hal.h>
#include <rtl8723a_hal.h>

void rtw_hal_update_ra_mask23a(struct sta_info *psta, u8 rssi_level)
+0 −12
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@
#include <linux/ieee80211.h>

#include <usb_ops.h>
#include <usb_hal.h>
#include <usb_osintf.h>

static void
@@ -1691,14 +1690,3 @@ int rtw_hal_deinit23a(struct rtw_adapter *padapter)
		DBG_8723A("\n rtw_hal_deinit23a: hal_init fail\n");
	return status;
}

int rtl8723au_set_hal_ops(struct rtw_adapter *padapter)
{
	padapter->HalData = kzalloc(sizeof(struct hal_data_8723a), GFP_KERNEL);
	if (!padapter->HalData) {
		DBG_8723A("cannot alloc memory for HAL DATA\n");
		return -ENOMEM;
	}

	return 0;
}
+0 −20
Original line number Diff line number Diff line
/******************************************************************************
 *
 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of version 2 of the GNU General Public License as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details.
 *
 ******************************************************************************/
#ifndef __USB_HAL_H__
#define __USB_HAL_H__

int rtl8723au_set_hal_ops(struct rtw_adapter *padapter);

#endif /* __USB_HAL_H__ */
+5 −4
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@
#include <usb_vendor_req.h>
#include <usb_ops.h>
#include <usb_osintf.h>
#include <usb_hal.h>
#include <rtl8723a_hal.h>

static int rtw_suspend(struct usb_interface *intf, pm_message_t message);
@@ -616,9 +615,10 @@ static struct rtw_adapter *rtw_usb_if1_init(struct dvobj_priv *dvobj,
	if (rtw_wdev_alloc(padapter, dvobj_to_dev(dvobj)))
		goto handle_dualmac;

	/* step 2. hook HalFunc, allocate HalData */
	if (rtl8723au_set_hal_ops(padapter))
		return NULL;
	/* step 2. allocate HalData */
	padapter->HalData = kzalloc(sizeof(struct hal_data_8723a), GFP_KERNEL);
	if (!padapter->HalData)
		goto free_wdev;

	padapter->intf_start = &usb_intf_start;
	padapter->intf_stop = &usb_intf_stop;
@@ -674,6 +674,7 @@ static struct rtw_adapter *rtw_usb_if1_init(struct dvobj_priv *dvobj,
free_hal_data:
	if (status != _SUCCESS)
		kfree(padapter->HalData);
free_wdev:
	if (status != _SUCCESS) {
		rtw_wdev_unregister(padapter->rtw_wdev);
		rtw_wdev_free(padapter->rtw_wdev);