diff options
Diffstat (limited to 'drivers/char/xilinx_hwicap/xilinx_hwicap.c')
-rw-r--r-- | drivers/char/xilinx_hwicap/xilinx_hwicap.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/char/xilinx_hwicap/xilinx_hwicap.c b/drivers/char/xilinx_hwicap/xilinx_hwicap.c index 304727deaf3..5b8d6463e11 100644 --- a/drivers/char/xilinx_hwicap/xilinx_hwicap.c +++ b/drivers/char/xilinx_hwicap/xilinx_hwicap.c | |||
@@ -250,8 +250,26 @@ static int hwicap_get_configuration_register(struct hwicap_drvdata *drvdata, | |||
250 | * Create the data to be written to the ICAP. | 250 | * Create the data to be written to the ICAP. |
251 | */ | 251 | */ |
252 | buffer[index++] = XHI_DUMMY_PACKET; | 252 | buffer[index++] = XHI_DUMMY_PACKET; |
253 | buffer[index++] = XHI_NOOP_PACKET; | ||
253 | buffer[index++] = XHI_SYNC_PACKET; | 254 | buffer[index++] = XHI_SYNC_PACKET; |
254 | buffer[index++] = XHI_NOOP_PACKET; | 255 | buffer[index++] = XHI_NOOP_PACKET; |
256 | buffer[index++] = XHI_NOOP_PACKET; | ||
257 | |||
258 | /* | ||
259 | * Write the data to the FIFO and initiate the transfer of data present | ||
260 | * in the FIFO to the ICAP device. | ||
261 | */ | ||
262 | status = drvdata->config->set_configuration(drvdata, | ||
263 | &buffer[0], index); | ||
264 | if (status) | ||
265 | return status; | ||
266 | |||
267 | /* If the syncword was not found, then we need to start over. */ | ||
268 | status = drvdata->config->get_status(drvdata); | ||
269 | if ((status & XHI_SR_DALIGN_MASK) != XHI_SR_DALIGN_MASK) | ||
270 | return -EIO; | ||
271 | |||
272 | index = 0; | ||
255 | buffer[index++] = hwicap_type_1_read(reg) | 1; | 273 | buffer[index++] = hwicap_type_1_read(reg) | 1; |
256 | buffer[index++] = XHI_NOOP_PACKET; | 274 | buffer[index++] = XHI_NOOP_PACKET; |
257 | buffer[index++] = XHI_NOOP_PACKET; | 275 | buffer[index++] = XHI_NOOP_PACKET; |