提交 17fa6e2f 编写于 作者: S Stephen Hemminger 提交者: Jeff Garzik

[PATCH] sk98lin: routine called from probe marked __init

Sk98lin driver has a routine marked __init that is called from
the probe code. If using pci hotplug, this could be called after
the initialization so it needs to be marked __devinit.
So if you hot added a sk98lin board, the kernel would crash.
I don't have hot plug hardware to actually try this feat.

Also, there are two routines, only called from SkGeBoardInit that can
be marked __devinit.
Signed-off-by: NStephen Hemminger <shemminger@osdl.org>
Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
上级 5367f2d6
......@@ -282,10 +282,11 @@ SK_U32 Val) /* pointer to store the read value */
* Description:
* This function initialize the PCI resources and IO
*
* Returns: N/A
*
* Returns:
* 0 - indicate everything worked ok.
* != 0 - error indication
*/
int SkGeInitPCI(SK_AC *pAC)
static __devinit int SkGeInitPCI(SK_AC *pAC)
{
struct SK_NET_DEVICE *dev = pAC->dev[0];
struct pci_dev *pdev = pAC->PciDev;
......@@ -492,7 +493,7 @@ module_param_array(AutoSizing, charp, NULL, 0);
* 0, if everything is ok
* !=0, on error
*/
static int __init SkGeBoardInit(struct SK_NET_DEVICE *dev, SK_AC *pAC)
static int __devinit SkGeBoardInit(struct SK_NET_DEVICE *dev, SK_AC *pAC)
{
short i;
unsigned long Flags;
......@@ -633,8 +634,7 @@ SK_BOOL DualNet;
* SK_TRUE, if all memory could be allocated
* SK_FALSE, if not
*/
static SK_BOOL BoardAllocMem(
SK_AC *pAC)
static __devinit SK_BOOL BoardAllocMem(SK_AC *pAC)
{
caddr_t pDescrMem; /* pointer to descriptor memory area */
size_t AllocLength; /* length of complete descriptor area */
......@@ -727,8 +727,7 @@ size_t AllocLength; /* length of complete descriptor area */
*
* Returns: N/A
*/
static void BoardInitMem(
SK_AC *pAC) /* pointer to adapter context */
static __devinit void BoardInitMem(SK_AC *pAC)
{
int i; /* loop counter */
int RxDescrSize; /* the size of a rx descriptor rounded up to alignment*/
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册