tree ce41c1b081dfe1cc8c25beec709c0e542dec910d
parent 69bb631ef9505df1eb4123bc01d2218f7b48c577
author Varka Bhadram <varkabhadram@gmail.com> 1416913483 +0530
committer Marcel Holtmann <marcel@holtmann.org> 1416978013 +0100

mac802154: remove unnecessary if statement

Removes unnecessary if statement check for net device. Error check performed
after alloc_netdev().

	ndev = alloc_netdev(sizeof(*sdata) + local->hw.vif_data_size, name,
			    NET_NAME_UNKNOWN, ieee802154_if_setup);
        if (!ndev)
                return ERR_PTR(-ENOMEM);
	..

Signed-off-by: Varka Bhadram <varkab@cdac.in>
Acked-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
