1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>__pci_reset_function_locked</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The Linux Kernel API"><link rel="up" href="ch09s05.html" title="PCI Support Library"><link rel="prev" href="API---pci-reset-function.html" title="__pci_reset_function"><link rel="next" href="API-pci-reset-function.html" title="pci_reset_function"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">__pci_reset_function_locked</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API---pci-reset-function.html">Prev</a>&#160;</td><th width="60%" align="center">PCI Support Library</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-pci-reset-function.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API---pci-reset-function-locked"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>__pci_reset_function_locked &#8212; 
2     reset a PCI device function while holding the <em class="parameter"><code>dev</code></em> mutex lock.
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">__pci_reset_function_locked </b>(</code></td><td>struct pci_dev * <var class="pdparam">dev</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1"><a name="idp1126515924"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>dev</code></em></span></dt><dd><p>
4     PCI device to reset
5    </p></dd></dl></div></div><div class="refsect1"><a name="idp1126517524"></a><h2>Description</h2><p>
6   Some devices allow an individual function to be reset without affecting
7   other functions in the same device.  The PCI device must be responsive
8   to PCI config space in order to use this function.
9   </p><p>
10
11   The device function is presumed to be unused and the caller is holding
12   the device mutex lock when this function is called.
13   Resetting the device will make the contents of PCI configuration space
14   random, so any caller of this must be prepared to reinitialise the
15   device including MSI, bus mastering, BARs, decoding IO and memory spaces,
16   etc.
17   </p><p>
18
19   Returns 0 if the device function was successfully reset or negative if the
20   device doesn't support resetting a single function.
21</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API---pci-reset-function.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch09s05.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-pci-reset-function.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">__pci_reset_function</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span class="phrase">pci_reset_function</span></td></tr></table></div></body></html>
22