~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to drivers/s390/char/tape_3590.c

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
796
796
static int
797
797
tape_3590_done(struct tape_device *device, struct tape_request *request)
798
798
{
799
 
        struct tape_3590_disc_data *disc_data;
800
799
 
801
800
        DBF_EVENT(6, "%s done\n", tape_op_verbose[request->op]);
802
 
        disc_data = device->discdata;
803
801
 
804
802
        switch (request->op) {
805
803
        case TO_BSB:
1394
1392
static int tape_3590_crypt_error(struct tape_device *device,
1395
1393
                                 struct tape_request *request, struct irb *irb)
1396
1394
{
1397
 
        u8 cu_rc, ekm_rc1;
 
1395
        u8 cu_rc;
1398
1396
        u16 ekm_rc2;
1399
 
        u32 drv_rc;
1400
 
        const char *bus_id;
1401
1397
        char *sense;
1402
1398
 
1403
1399
        sense = ((struct tape_3590_sense *) irb->ecw)->fmt.data;
1404
 
        bus_id = dev_name(&device->cdev->dev);
1405
1400
        cu_rc = sense[0];
1406
 
        drv_rc = *((u32*) &sense[5]) & 0xffffff;
1407
 
        ekm_rc1 = sense[9];
1408
1401
        ekm_rc2 = *((u16*) &sense[10]);
1409
1402
        if ((cu_rc == 0) && (ekm_rc2 == 0xee31))
1410
1403
                /* key not defined on EKM */
1429
1422
                     struct irb *irb)
1430
1423
{
1431
1424
        struct tape_3590_sense *sense;
1432
 
        int rc;
1433
1425
 
1434
1426
#ifdef CONFIG_S390_TAPE_BLOCK
1435
1427
        if (request->op == TO_BLOCK) {
1454
1446
         *   - "break":     basic error recovery is done
1455
1447
         *   - "goto out:": just print error message if available
1456
1448
         */
1457
 
        rc = -EIO;
1458
1449
        switch (sense->rc_rqc) {
1459
1450
 
1460
1451
        case 0x1110:
1761
1752
}
1762
1753
 
1763
1754
static struct ccw_driver tape_3590_driver = {
1764
 
        .name = "tape_3590",
1765
 
        .owner = THIS_MODULE,
 
1755
        .driver = {
 
1756
                .name = "tape_3590",
 
1757
                .owner = THIS_MODULE,
 
1758
        },
1766
1759
        .ids = tape_3590_ids,
1767
1760
        .probe = tape_generic_probe,
1768
1761
        .remove = tape_generic_remove,