This applies cleanly to stable-tracking to fix errors on initialization.
Sean
diff --git a/arch/arm/plat-s3c24xx/neo1973_pm_bt.c b/arch/arm/plat-s3c24xx/neo1973_pm_bt.c
index 98ff77a..96af7c5 100644
--- a/arch/arm/plat-s3c24xx/neo1973_pm_bt.c
+++ b/arch/arm/plat-s3c24xx/neo1973_pm_bt.c
@@ -183,11 +183,14 @@ static int __init gta01_bt_probe(struct platform_device *pdev)
rfkill = rfkill_allocate(&pdev->dev, RFKILL_TYPE_BLUETOOTH);
rfkill->name = pdev->name;
- rfkill->data = pdev;
- rfkill->state = -1;
+ rfkill->data = &pdev->dev;
+ rfkill->state = RFKILL_STATE_OFF;
rfkill->toggle_radio = bt_rfkill_toggle_radio;
- rfkill_register(rfkill);
+ if (rfkill_register(rfkill) < 0) {
+ /* We can live if it fails to register, but report it. */
+ dev_dbg(&pdev->dev, DRVMSG ": RFKILL registration failed\n");
+ }
platform_set_drvdata(pdev, rfkill);