aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-04-25 16:51:45 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-04-25 16:51:45 -0400
commit2fb90b128aaf7758e3de22119515fb11174d4f23 (patch)
tree082a1b9eaa0c17ca6ccae3aef03f58a77d60dc69
parent707abb7986293b24b83dba163ffc79d8895236f9 (diff)
parent5a68b2e346f043820e2ba0cde57cc75b4561c124 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [PARPORT] SUNBPP: Fix OOPS when debugging is enabled. [SPARC] openprom: Switch to ref counting PCI API
-rw-r--r--drivers/parport/parport_sunbpp.c10
-rw-r--r--drivers/sbus/char/openprom.c3
2 files changed, 8 insertions, 5 deletions
diff --git a/drivers/parport/parport_sunbpp.c b/drivers/parport/parport_sunbpp.c
index 9793533276ec..400bb90084cf 100644
--- a/drivers/parport/parport_sunbpp.c
+++ b/drivers/parport/parport_sunbpp.c
@@ -126,7 +126,7 @@ static unsigned char status_sunbpp_to_pc(struct parport *p)
126 if (!(value_tcr & P_TCR_BUSY)) 126 if (!(value_tcr & P_TCR_BUSY))
127 bits |= PARPORT_STATUS_BUSY; 127 bits |= PARPORT_STATUS_BUSY;
128 128
129 dprintk((KERN_DEBUG "tcr 0x%x ir 0x%x\n", regs->p_tcr, regs->p_ir)); 129 dprintk((KERN_DEBUG "tcr 0x%x ir 0x%x\n", value_tcr, value_ir));
130 dprintk((KERN_DEBUG "read status 0x%x\n", bits)); 130 dprintk((KERN_DEBUG "read status 0x%x\n", bits));
131 return bits; 131 return bits;
132} 132}
@@ -147,7 +147,7 @@ static unsigned char control_sunbpp_to_pc(struct parport *p)
147 if (value_or & P_OR_SLCT_IN) 147 if (value_or & P_OR_SLCT_IN)
148 bits |= PARPORT_CONTROL_SELECT; 148 bits |= PARPORT_CONTROL_SELECT;
149 149
150 dprintk((KERN_DEBUG "tcr 0x%x or 0x%x\n", regs->p_tcr, regs->p_or)); 150 dprintk((KERN_DEBUG "tcr 0x%x or 0x%x\n", value_tcr, value_or));
151 dprintk((KERN_DEBUG "read control 0x%x\n", bits)); 151 dprintk((KERN_DEBUG "read control 0x%x\n", bits));
152 return bits; 152 return bits;
153} 153}
@@ -165,7 +165,8 @@ static unsigned char parport_sunbpp_frob_control(struct parport *p,
165 unsigned char value_tcr = sbus_readb(&regs->p_tcr); 165 unsigned char value_tcr = sbus_readb(&regs->p_tcr);
166 unsigned char value_or = sbus_readb(&regs->p_or); 166 unsigned char value_or = sbus_readb(&regs->p_or);
167 167
168 dprintk((KERN_DEBUG "frob1: tcr 0x%x or 0x%x\n", regs->p_tcr, regs->p_or)); 168 dprintk((KERN_DEBUG "frob1: tcr 0x%x or 0x%x\n",
169 value_tcr, value_or));
169 if (mask & PARPORT_CONTROL_STROBE) { 170 if (mask & PARPORT_CONTROL_STROBE) {
170 if (val & PARPORT_CONTROL_STROBE) { 171 if (val & PARPORT_CONTROL_STROBE) {
171 value_tcr &= ~P_TCR_DS; 172 value_tcr &= ~P_TCR_DS;
@@ -197,7 +198,8 @@ static unsigned char parport_sunbpp_frob_control(struct parport *p,
197 198
198 sbus_writeb(value_or, &regs->p_or); 199 sbus_writeb(value_or, &regs->p_or);
199 sbus_writeb(value_tcr, &regs->p_tcr); 200 sbus_writeb(value_tcr, &regs->p_tcr);
200 dprintk((KERN_DEBUG "frob2: tcr 0x%x or 0x%x\n", regs->p_tcr, regs->p_or)); 201 dprintk((KERN_DEBUG "frob2: tcr 0x%x or 0x%x\n",
202 value_tcr, value_or));
201 return parport_sunbpp_read_control(p); 203 return parport_sunbpp_read_control(p);
202} 204}
203 205
diff --git a/drivers/sbus/char/openprom.c b/drivers/sbus/char/openprom.c
index eec28c142a59..5041c9dfbe3b 100644
--- a/drivers/sbus/char/openprom.c
+++ b/drivers/sbus/char/openprom.c
@@ -249,7 +249,7 @@ static int oprompci2node(void __user *argp, struct device_node *dp, struct openp
249#ifdef CONFIG_PCI 249#ifdef CONFIG_PCI
250 struct pci_dev *pdev; 250 struct pci_dev *pdev;
251 struct pcidev_cookie *pcp; 251 struct pcidev_cookie *pcp;
252 pdev = pci_find_slot (((int *) op->oprom_array)[0], 252 pdev = pci_get_bus_and_slot (((int *) op->oprom_array)[0],
253 ((int *) op->oprom_array)[1]); 253 ((int *) op->oprom_array)[1]);
254 254
255 pcp = pdev->sysdata; 255 pcp = pdev->sysdata;
@@ -260,6 +260,7 @@ static int oprompci2node(void __user *argp, struct device_node *dp, struct openp
260 op->oprom_size = sizeof(int); 260 op->oprom_size = sizeof(int);
261 err = copyout(argp, op, bufsize + sizeof(int)); 261 err = copyout(argp, op, bufsize + sizeof(int));
262 } 262 }
263 pci_dev_put(pdev);
263#endif 264#endif
264 } 265 }
265 266