Search Linux Wireless

Re: [PATCH 09/12] iwlwifi: pcie: remove non-responsive device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Luca Coelho <luca@xxxxxxxxx> writes:

> From: Luca Coelho <luciano.coelho@xxxxxxxxx>
>
> If we fail to to grab NIC access because the device is not responding
> (i.e. CSR_GP_CNTRL returns 0xFFFFFFFF), remove the device from the PCI
> bus, to avoid any further damage, and to let the user space rescan.
>
> Signed-off-by: Luca Coelho <luciano.coelho@xxxxxxxxx>
> Signed-off-by: Rajat Jain <rajatja@xxxxxxxxxx>

The commit log doesn't mention anything about the module parameter nor
about the kobject uevent.

> +static void iwl_trans_pcie_removal_wk(struct work_struct *wk)
> +{
> +	struct iwl_trans_pcie_removal *removal =
> +		container_of(wk, struct iwl_trans_pcie_removal, work);
> +	struct pci_dev *pdev = removal->pdev;
> +	char *prop[] = {"EVENT=INACCESSIBLE", NULL};
> +
> +	dev_err(&pdev->dev, "Device gone - attempting removal\n");
> +	kobject_uevent_env(&pdev->dev.kobj, KOBJ_CHANGE, prop);
> +	pci_lock_rescan_remove();
> +	pci_dev_put(pdev);
> +	pci_stop_and_remove_bus_device(pdev);
> +	pci_unlock_rescan_remove();
> +
> +	kfree(removal);
> +	module_put(THIS_MODULE);
> +}

So is the uevent some standard thing or what? At least grepping
INACCESSIBLE for didn't tell me anything.

-- 
Kalle Valo



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux